通过 SSH 登录 Linux 是一种非常常见的方式,但是在一些情况下,SSH 无法直接连接,给远程管理服务器带来不便:

  • 服务器有防火墙限制,SSH 端口无法直接连接
  • 服务器在内网环境,没有可供连接的公网 IP

这时候如果有一台另外的公网服务器,通常可以使用端口转发来解决问题,借助公网服务器,将内网服务器的 SSH 端口映射到公网服务器就能访问。用 ssh 命令即可实现本地端口转发和远程给端口转发,可以参考下面的命令:

  • 远程转发(将远程端口映射到本地主机) ssh -R src_port:dst_ip:dst_port server

  • 本地转发(将本地端口映射到远程主机) ssh -L src_port:dst_ip:dst_port server

不过这个方案仍然有缺陷:

  1. 需要依赖一台公网服务器来提供代理服务
  2. 每次使用之前需要先登录到目标服务器上把端口转发出来(我就是因为登录不上去才需要转发啊。。。)

更推荐的方法是使用基于 agent 反向连接的牧云主机管理助手。

请添加链接描述

3.png