公司服务器没有公网IP,只有内网IP,利用自己的阿里云服务器(有公网ip)做ssh内网穿透,使得外网可访问。方法如下:

环境:
公司服务器和阿里云服务器均为 Ubuntu 操作系统,
需要修改阿里云服务器 的sshd_config 的相关配置与 公司服务器 ssh_config 的相关配置使得

  1. sshd server 支持remote port forwarding
  2. 会话不会自动断开

具体操作见 ssh preventing timeout.

首先配置公司服务器可以ssh无密登录阿里云服务器,具体方法是用基于密匙的方法,见 ssh keys

然后在公司用工作站ssh登录公司服务器, 在公司服务器上登录阿里云服务器,后面一个登录需要用 nohup 处理,避免前一个会话断开后导致后一个登录会话失效,后面一个完整的ssh登录语句为:

nohup ssh -tt -R aliyun_server_port_number:company_server_intranet_ip_address:company_server_ssh_port_number aliyun_server_username@aliyun_server_domain_name 2>&1 &

后面一个登录不会打开新的 terminal。退出前一个ssh会话。用如下的方法测试公司服务器ssh内网穿透(在工作站上)

ssh -p aliyun_server_port_number aliyun_server_username@aliyun_server_domain_name

参考:

  1. ssh tunneling example
  2. ssh port forwarding
posted on 2019-04-10 19:56  赵丰数33  阅读(312)  评论(0编辑  收藏  举报