利用反向SSH从外网访问内网服务器

学院的服务器在学院的内网,出了学院就不能访问,在宿舍、家里学习很不方便没有服务器的话。之前一直用TeamViewer,但是用着不舒服。最近新找到一个办法,就是利用外网服务器以及反向SSH搭一条通道,使得可以利用外网的服务器登录内网的服务器。简单理解,既然外网无法找到内网的服务器的IP,那就内网服务器自己寻找外网的服务器,主动搭建SSH通道,这样外网就可以通过这条通道连接到内网了。

 两台服务器配置

 IP登录用户名
内网服务器192.168.1.107tao
外网服务器1.1.1.1.1root

 外网服务器我用的是阿里云的学生服务器。

在内网服务器上执行操作

ssh -NfR 1234:localhost:22 root@1.1.1.1 -p 22

其中,这条命令的意思是在后台执行(-f),不实际连接而是做port forwarding(-N),做反向ssh(-R),将远程服务器的1234端口映射成连接本机与该服务器的反向ssh的端口。root为外网服务器的登录名,1.1.1.1为外网IP(这里我瞎写的IP)执行完这条命令后在外网服务器就可以进行登录了。

ssh tao@localhost -p1234

tao是指你执行 ssh -NfR 1234:localhost:22 root@ip -p 22时所用的用户名 

ssh连接中断问题

autossh -M 2222 -NfR 1234:localhost:22 root@1.1.1.1 -p 22

 ubuntu安装autossh命令

sudo apt-get install autossh

 ---------------------------------------------------------分割线--------------------------------------------------------------

使用第二天,报错:write failed, broken pipe

解决办法:编辑  /etc/ssh/ssh_config

增加一行:ServerAliveInterval 120  #每隔20s向服务器发送一次 alive 请求

 

参考:

SSH反向连接以及autossh

利用反向SSH从外网访问内网主机

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值