SSH远程端口转发

我想通过公共可访问服务器(公共)连接到我的电脑(本地)后面的NAT。

在本地:ssh -g -R 8000:localhost:22 user @ public

然后公开:ssh -p 8000 user @ public但是我收到错误:连接被拒绝。

当我login到公共服务器时,我可以通过以下方式validation隧道正在工作:ssh -p 8000 localhost在本地计算机上打开ssh。

我怀疑公共服务器应该充当透明代理吗? 或者如何使它像那样工作。

谢谢

根据手册,您可以在公共主机上设置选项(在sshd_config ):

 GatewayPorts yes 

然后在本地尝试

 ssh -R *:8000:localhost:22 user@public 

(注意多余的*: :)。

如果您无法访问公共的sshd_config ,则可以像这样创build一个额外的端口:
本地(lancomp): ssh -R 8001:localhost:22 user@public
公开: ssh -g -L 8000:localhost:8001 user@lancomp

并且从外部连接,当然,在这两种情况下: ssh -p 8000 user@public

端口8000上的列表将只在公共macine的本地主机地址上进行。 如果你想要绑定到“真实的”networking接口,你可以试试-R public:8000:localhost:22