在跳板机上执行命令autossh -M 0 -CNL *:18022:0.0.0.0:22 root@xx.xx.xx.xx -p 22
-M 的意思是本地启动一个端口监听到目的IP:port的连接是否正常 ,0 代表随机启动一个端口(下面图中的52974即为随机分配的一个端口号)
-C是启动数据压缩
-N不执行远程命令,专为端口转发量身定做
-L 将本地18022端口映射到目的地址的22端口(如果是-R则将目标机的22端口映射到本地18022端口)
-p 是目标主机ssh的端口
执行上述命令后在跳板机本地查看进程
多了两个进程
目标主机查看进程
多了一个进程
然后从外网主机ssh -p 18022 跳板机ip
会发现登陆到了目标机器上
!!!前提需要为外网主机对跳板机实现ssh免密登陆,跳板机对目标机实现ssh免密登陆
原文:https://blog.51cto.com/13670314/2522396