警告:服务器请求转发未知的 listen_port 0

警告:服务器请求转发未知的 listen_port 0

我正在尝试在机器 A 和 B 之间创建反向 ssh 隧道。两台机器都是 Windows 并且使用Win32 OpenSSH。以下是我所做的。

  • 在机器 AI 上,有一个在端口 8080 上运行的 Web 应用程序
  • 在机器 BI 上,sshd 正在运行
  • 在机器 AI 上运行此命令ssh -v -R 9000:localhost:8080 user@MachineB

然后我在机器 A 的控制台上看到下面的几行

debug1: Remote connections from LOCALHOST:9000 forwarded to local address localhost:8080
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug1: remote forward success for: listen 9000, connect localhost:8080
debug1: All remote forwarding requests processed

当我在机器 B 上进行调用时localhost:9000,我在机器 A 的控制台上看到以下错误。

debug1: client_input_channel_open: ctype forwarded-tcpip rchan 3 win 2097152 max 32768
debug1: client_request_forwarded_tcpip: listen localhost port 0, originator :: port 52487
WARNING: Server requests forwarding for unknown listen_port 0
debug1: failure forwarded-tcpip

我哪里做错了?我该如何解决此问题?

更新

另外,当我在机器 B 上进行调用时localhost:9000,以下几行会写入sshd.log文件中。

6388 10:06:47 708 error: getsockname failed: Bad address
6388 10:06:47 745 channel 3: open failed: administratively prohibited: open failed

答案1

当我在机器 B 上调用 localhost:9000 时

检查此步骤中将“localhost”替换为 127.0.0.1 是否有效

如果是这种情况,则意味着隧道正常,但从 ssh 服务器外部看不到该端口。解决方案:查看:

  • 你的 openssh 服务器的 sshd_config 文件有GatewayPorts 是
  • 防火墙openssh 服务器没有阻止它

相关内容