使用PuTTY进行SSH反向端口转发 – 如何指定绑定地址

使用Putty,我build立了一个反向代理,它允许我在server.tld的服务器的8080端口连接到启动SSH连接的机器的80端口。

服务器允许我在localhost:8080连接,并在服务器上连接时返回initiator:80的结果。

这个问题说启用GatewayPorts并绑定到所有地址。

使用Putty,如何在服务器上公开端口8080,以便在外部接口(例如Web请求)上发出请求时,将端口转发initiator:80

在这里输入图像描述

设置PuTTY隧道时有两个checkbox,

  • 本地端口接受来自其他主机的连接
  • 远程端口执行相同的操作(仅适用于SSH-2)

第二个是你所需要的。

我只是testing它,

PuTTY隧道对话框,

  • 勾选远程端口…
  • 将8080放入源端口
  • 将127.0.0.1:80放入Destination端口
  • select“远程”单选button
  • 点击添加

工作正常,这是由此产生的netstat,

 # netstat -an | grep 8080 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN tcp6 0 0 :::8080 :::* LISTEN 

您还可以使用PuTTY附带的plink.exe,例如,

 plink -R *:8080:localhost:80 [email protected] 

这工作也很好。

 # netstat -an | grep 8080 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN tcp6 0 0 :::8080 :::* LISTEN 

如果你仍然在主机上获得127.0.0.1:8080,那么GatewayPorts在你的sshdconfiguration中仍然被设置为no。

此外,不要忘记更新目标服务器上的防火墙,以允许外部连接到端口8080。