marquee
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生

利用云主机做 ssh 反向隧道

利用云主机做 ssh 反向隧道

【背景】

  有三台主机 A、S、B,系统均为Linux。主机 A 和主机 B 在各自不同的内网,主机 S 为一台具有公网 IP 的云主机。主机 A 与主机 B 都可以通过 ssh 连接主机 S。如下图:

 

 

【需求】

  主机 A 需要通过主机 S 连接主机 B。

【方法】

1、设置主机 S。

1.1、编辑 /etc/ssh/sshd_config 文件,在里面修改或添加:

GatewayPorts yes

1.2、重启 sshd 服务。

sudo service sshd restart

2、设置主机 B。

2.1、方式一:用 ssh

ssh -fNR portS:localhost:22 userS@pubIpS

# portS 是主机 S 的某个开放端口# userS 是主机 S 的一个用户# pubIpS 是主机 S 的公网IP

2.2、方式二:用 autossh

autossh -M 3456 -NR portS:localhost:22 userS@pubIpS -p22

# -M 参数没大弄明白,大概是通过这个端口监听以便自动重连吧# 输入密码后可以用 Ctrl-Z 放到后台

3、主机 A 通过 ssh 连接上主机 S 后。这样连接主机 B:

ssh userB@localhost -p portS

# userB 为主机 B 的用户# portS 与上一步的 portS 是同一个端口

 

 

.执行AutoSSH命令

autossh -M 5555 -NR 80:127.0.0.1:7777 root@114.114.114.114

  • 1

-M:在5555端口上监听连接的变化,只要断开就重连 
少了-f 参数,因为AutoSSH本来就在后台运行

 

 

终止隧道

这将终止你从终端打开的所有ssh会话。

sudo killall ssh

 

posted @ 2021-10-18 11:30  智杰  阅读(137)  评论(0)    收藏  举报
marquee
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生