从外网 SSH 进局域网,反向代理+正向代理解决方案

相信很多同学都会碰到这样一个问题。在实验室有一台机器用于日常工作,当我回家了或者回宿舍之后因为没法进入内网,所以访问不到了。如果这个时候我需要 SSH 进去做一下工作,那么怎么解决这个问题呢?本文将给出一种使用 SSH 的代理功能的解决方案。

转:https://segmentfault.com/a/1190000002718360

里面的 创建反向代理改用

autossh -R 10022:localhost:22 user_b@ip_b

可以避免网络波段断网,会自动重连

以下是我穿透实验室服务器内网的操作

阿里云反向代理实验室服务器

在实验室服务器jagger用户下:

$ ssh-copy-id root@aliyunIP   # 把本机该用户的ssh密钥发送到服务器,使得ssh不再需要输入密码
$ autossh -R 10023:localhost:22 root@aliyunIP  # 然后终端一直开着。

也可以把如下命令放到开机启动去,放到/etc/rc.local中,然后重新启动

/bin/su -c 'autossh -fNR 10023:localhost:22 root@aliyunIP' - jagger   # 以jagger用户身份执行

这样就把本机的22端口反向绑定到阿里云服务器10023端口了

在root@aliyunIP:

$ ssh -fCNL *:10022:localhost:10023 localhost
$ logout

在任意机器:

$ ssh -p 10022 jagger@aliyunIP

即可访问实验室服务器

### 配置向日葵实现外网远程连接内网Linux服务器 为了使外网能够通过向日葵软件访问内网中的Linux服务器,需按照特定步骤行设置。首先确认所使用的Linux版本满足条件,即CentOS 6.0以上或Ubuntu 10.04以上的64位系统[^1]。 #### 安装向日葵客户端 从官方网站获取适用于Linux平台的向日葵客户端,并依据官方指导完成安装过程。确保该客户端已正确部署于目标Linux机器上。 #### 设置网络环境 对于位于内部网络内的Linux主机来说,可能还需要调整路由器上的端口转发规则以便允许外部流量入指定计算机。不过具体取决于所在局域网的具体情况以及是否有其他安全设备存在。 #### 开启必要的服务与权限 在Linux终端中启用相应的服务来保障远程会话可以正常建立。这通常涉及到开启SSH或其他形式的安全shell服务,同时也要注意检查SELinux策略是否会对连接造成阻碍。另外,在防火墙层面也需要做适当修改以放行来自互联网方向的数据包到达本地监听的服务程序。 ```bash sudo systemctl start sshd.service sudo firewall-cmd --zone=public --add-port=22/tcp --permanent sudo firewall-cmd --reload ``` 上述命令用于启动OpenSSH守护程并永久性打开TCP协议下的第22号端口供外界访问,最后刷新firewalld配置使之生效。 #### 注册并向日葵云端添加设备信息 登录至向日葵官网创建账户并将刚才准备好的Linux客户机注册去。之后根据提示绑定硬件ID等必要参数从而建立起两者间的关联关系。 #### 测试连通性 当一切准备工作就绪后便可以通过另一台具备公网IP地址的工作站尝试发起测试性的连接请求看看能否顺利抵达目的节点。如果遇到任何问题则应该仔细排查各个阶段的操作是否存在疏漏之处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值