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

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

因此,我设置了一个脚本,用于自动打开与我服务器的 SSH 连接,并将端口反向转发给我,以便与我的家庭桌面建立 SSH 连接。在我迁移服务器之前,这个脚本一直有效。

简而言之,我无法让这个连接绑定到外部 IP 地址,但我不知道为什么。

该脚本基本上运行这个命令(我可以确认,从 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)

除了我通过 ssh 连接到服务器以运行 lsof 之外,这些绑定都不在服务器的公共 IP 上。这在我的旧服务器上运行良好。我检查了 sshd_config 并AllowTcpForwarding明确启用了它。我没什么主意了。

答案1

我讨厌这种情况发生,但经过进一步研究后,我能够回答我自己的问题了。

似乎sshd_config需要GatewayPorts yes绑定到外部地址。我在移植配置时一定错过了这一点。

答案2

为了使其绑定到所有接口,请使用:

ssh -N -R 0.0.0.0:2695:localhost:22  [email protected]

不要忘记编辑/etc/ssh/sshd_config并转到GatewayPorts使能够并将其设置为yes

相关内容