本文主要是介绍[linux-001] ssh反向隧道,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.参考资料
https://www.cnblogs.com/fbwfbi/p/3702896.html
https://blog.csdn.net/cayman_mg/article/details/79527207
https://www.cnblogs.com/piperck/p/6200439.html
https://www.cnblogs.com/fbwfbi/p/3702896.html
2.场景
A机,在公司内网。B机,在公网,有固定公网IP地址。C机,在家里。
需要一个功能:在家里,从C机登陆到B机,然后,登陆B机的某个端口,能进入到A机,这样,可以操作A机上的各种资料。
3.步骤
3.1 首先,在B机上建立一个账号,用于ssh隧道
adduser userssh
userssh专用于ssh隧道。
3.2 修改/etc/ssh/shhd_config,把GatewayPorts打开:
GatewayPorts yes
然后
service sshd restart
重启启动服务。
3.2 在内网的A机执行:
ssh -o TCPKeepAlive=yes -o ServerAliveInterval=30 -Nf -R 6000:127.0.0.1:22 userssh@43.110.20.200
把A机的22端口,映射到B机6000端口。其中,43.110.20.200是B机的公网IP。
3.3 在公网B机执行
ssh -p 6000 bri@localhost
就可以登陆到A机。
3.4 在C机,先登陆到B机,再从B机登陆到A机,即可操作A机的各种资料。
4.持续连接问题,务必要有一个任何情况下都能生效的重连机制,至少断电重启之后就一定可以连上。比如,需要一个开机启动的服务,这个服务,每隔一分钟,用fabric登录公网主机,然后从公网主机登录内网主机,看看是否能成功,如果成功,表明反向隧道是可用的,如果不成功,反向隧道是不可用的,需要关闭久的,开启新的。
http://www.cnblogs.com/shengulong/p/7553920.html
http://www.cnblogs.com/shengulong/p/7553920.html
https://blog.csdn.net/wangfei8348/article/details/60886006/
4.1 网卡休眠
网卡休眠造成的,设置关闭:
修改/etc/grub.conf,在kernel行末尾追加pcie_aspm=off
4.2 启动重练
加入到启动脚本
4.3 主机休眠,
4.4 断网后重连
这篇关于[linux-001] ssh反向隧道的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!