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

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

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

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

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

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

在此处输入图片描述

答案1

设置 PuTTY 隧道时有两个复选框,

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

其中第二个可以满足您的需要。

我刚刚测试过,

PuTTY 隧道对话框,

  • 勾选远程端口...
  • 将 8080 放入源端口
  • 将 127.0.0.1:80 填入目标端口
  • 选择“远程”单选按钮
  • 单击“添加”
  • 连接

运行正常,以下是结果 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 在您的 sshd 配置中仍然设置为 no。

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

相关内容