租用香港云服务器搭建SSH反向隧道教程

发布时间:2021-09-12

  【背景】

  有三台云服务器 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 是同一个端口

注册即送1000元现金券