利用云主机做 ssh 反向隧道

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用云主机做 ssh 反向隧道相关的知识,希望对你有一定的参考价值。

【背景】

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

技术分享

【需求】

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

主机A信息:

ip

【方法】

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 [email protected]
# portS 是主机 S 的某个开放端口
# userS 是主机 S 的一个用户
# pubIpS 是主机 S 的公网IP

2.2、方式二:用 autossh

autossh -M 3456 -NR portS:localhost:22 [email protected]
# -M 参数没大弄明白,大概是通过这个端口监听以便自动重连吧
# 输入密码后可以用 Ctrl-Z 放到后台

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

ssh [email protected] -p portS
# userB 为主机 B 的用户
# portS 与上一步的 portS 是同一个端口


相关阅读:SSH反向连接及Autossh


*** walker ***


本文出自 “walker的流水账” 博客,请务必保留此出处http://walkerqt.blog.51cto.com/1310630/1947976

以上是关于利用云主机做 ssh 反向隧道的主要内容,如果未能解决你的问题,请参考以下文章

autossh反向隧道

如何配置系统通过 ssh 反向隧道/代理使用 git?

AUTOSSH设置ssh隧道,实现反向代理访问内网主机

RaspberryPI 和云服务器中的反向隧道?

ssh 反向隧道连接

两步建立 ssh 反向隧道