SSH反向端口转发绑定到地址

所以,我有一个脚本设置来自动打开到我的服务器的SSH连接,并反向端口转发到我的SSH连接到我的家庭桌面端口。 这个脚本一直工作到现在我已经迁移了服务器。

简而言之,我无法获得连接绑定在外部IP地址,我不知道为什么。

该脚本基本上运行这个命令(我可以确认,这个命令与我的价值subbed在从shell运行时具有相同的结果):

sudo autossh -M 5114 -D 7474 -R servers_public_ip:2695:localhost:22 -i /home/user/.ssh/id_rsa2 remote@servers_public_ip

当我检查lsof ,我看到为remote用户绑定了以下连接:

 sshd 27570 remote 3u IPv4 161761 0t0 TCP servers_public_ip:22->67-213-103-227.eastlink.ca:62812 (ESTABLISHED) sshd 27570 remote 7u IPv6 161773 0t0 TCP ip6-localhost:5114 (LISTEN) sshd 27570 remote 8u IPv4 161774 0t0 TCP localhost:5114 (LISTEN) sshd 27570 remote 9u IPv6 161777 0t0 TCP ip6-localhost:2695 (LISTEN) sshd 27570 remote 10u IPv4 161778 0t0 TCP localhost:2695 (LISTEN) 

这些绑定都没有在服务器上的公共IP,保存我的SSH连接到服务器来运行lsof。 这在我的旧服务器上运行良好。 我检查了sshd_config并明确地打开了AllowTcpForwarding 。 我正在用尽想法。

我讨厌什么时候发生这种情况,但经过多一点研究,我能够回答我自己的问题。

看来sshd_config需要GatewayPorts yes绑定到外部地址。 移植configuration时,我一定错过了这个。