SSH 隧道

1. 反向隧道

学校关闭了对服务器所有外端口的访问。于是要想在校外登录实验室的服务器,则需要有一台有固定 IP 的外网机器。实验室的服务器能连接上该外网机器,同时来开启一个 ssh 反向隧道,以供外网机器连接到实验室服务器。于是本地机器可以先连接到外网机器,再连接到实验室服务器。
实验室的服务器不需要有固定的 IP,有个用户名为 chenlianfu ;外网服务器的 IP 为 123.123.123.123 ;外网服务器的用户名为 waiwang。

在内网服务器上输入命令,建立一个和外网机器的 ssh 隧道,来保证外网机器能和内网机器进行连接
$ autossh -M 4321 -N -f -R 2222:localhost:22 waiwang@123.123.123.123
输入 123.123.123.123 机器 waiwang 用户的密码来构建反向通道。

-M 推荐加上此参数,可能好些,貌似是发送和接受测试数据用。
-N -f 这两个参数配合使用,让隧道在后台运行。
-R 构建反向隧道,将本地机器的 22 号端口映射成为远程服务器的 2222 端口。

此外,若使用 ssh 也可以运行上述命令,但是容易断掉反向隧道。

在 IP 为 123.123.123.123 的机器上则通过下面命令来连接内网机器:
$ ssh -p 2222 chenlianfu@localhost
输入内网机器 chenlianfu 用户的密码通过反向隧道来连接内网机器。
这时,只需要连接有固定 IP 的外网机器,即可再连接内网服务器。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据