使用该命令,我试图找出远程端口转发不起作用的原因,直到我意识到主机的 sshd_config 中没有该命令。添加该命令后,它成功运行。ssh -v -R 2255:localhost:2255 [email protected]
GatewayPorts yes
有什么方法可以诊断出这个病吗?
SSH 甚至输出以下内容(不带 GatewayPorts yes
):
debug1: Remote connections from LOCALHOST:2255 forwarded to local address localhost:2255
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug1: remote forward success for: listen 2255, connect localhost:2255
debug1: All remote forwarding requests processed
答案1
您需要GatewayPorts yes
sshd_config 才能从外部访问它。
答案2
当您指定时,2255:localhost:2255
前面会填充缺失的主机名作为localhost
。这实际上只会绑定到localhost
地址(环回)。如果您还想“从外部”使用它,则需要使用服务器 IP 进行远程端口转发,例如example.com:2255:localhost:2255
。
答案3
您随时可以添加更多-v
s 以使输出更加详细。OpenSSH 最多支持三个v
s:
ssh -vvv
三级详细输出应包括有关端口转发的信息。