ssh实现内网穿透(需要利用一台具有公网ip的服务器进行中转)

一、首先需具有一台外网ip的服务器

1.打开 /etc/ssh/sshd_config,将GatewayPorts参数设为yes
2.systemctl restart sshd.service,重启ssh服务
注意:较低版本的Linux服务器 重启命令为 service sshd restart

二、内网电脑
1.命令:ssh -NTf -R 11111:192.168.31.243:22 root@123.123.123.123
按提示输入远程账号访问密码

参数说明:

  • 11111:                  绑定公网linux的端口号
  • 192.168.31.243:  内网linux的局域网ip 
  • 22:                       内网linux可以ssh连接的端口号。。主要用于与公网linux进行联系的
  • root:                     公网linux的用户名
  • 123.123.123.123:公网linux的ip

注意:请确保公网电脑防火墙设置,需要开放11111端口。。内网的linux虚拟机也要开放22端口(这个默认是开启的)

三、访问(此时还有问题,断线无法重连,请继续往后看)
就是指定把所有访问公网123.123.123.123:11111的请求都映射到内网:192.168.31.243:22上。。

然后任意一台能联网的电脑。使用ssh -p 11111 123.123.123.123就会远程登录到内网192.168.31.243中。。
 

:最后,当内网的电脑(我的虚拟机)重启或者其他方式导致断线。。。那么需要重新连接,此时再执行上面的命令去连接公网ip就会报错。。而且也映射不到当前主机了。。

所以还需要配置自动重连:

1、centos安装autossh

https://blog.csdn.net/qq_36951116/article/details/103205760

2、此时可以使用下面的命令代替第二步的命令。。

autossh -M 55555 -NTf -R 11111:192.168.31.243:22 root@123.123.123.123

 

-M:在55555端口上监听连接的变化,只要断开就重连 ,随便指定一个没占用的端口就行

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值