反向 SSH 隧道 - 某些端口失败

反向 SSH 隧道 - 某些端口失败

我正在尝试使用反向 SSH 隧道转发非常特定的端口。MachineA 是目标计算机(运行命令的计算机),MachineB 是隧道(SSH 连接的计算机和公共连接将看到的计算机)。

(端口 123 被用作其他可用端口的占位符)。

隧道使用的命令是:

[user@MachineA ~]$ ssh -gnN -R *:500:localhost:500 -R *:311:localhost:311 -R *:123:localhost:123 user@MachineB

它显示以下输出,表明某些端口无法转发:

Warning: remote port forwarding failed for listen port 500
Warning: remote port forwarding failed for listen port 311

如果我去 MachineB,我会在隧道开始之前看到这个:

[user@MachineB ~]$ netstat -na | grep 500
[user@MachineB ~]$ netstat -na | grep 311
[user@MachineB ~]$ netstat -na | grep 123
[user@MachineB ~]$

之后是这样的(其中端口 123 是我成功建立隧道的端口:

[user@MachineB ~]$ netstat -na | grep 500
[user@MachineB ~]$ netstat -na | grep 311
[user@MachineB ~]$ netstat -na | grep 123
tcp        0      0 0.0.0.0:123                 0.0.0.0:*                   LISTEN      
[user@MachineB ~]$

看起来问题不在于正在使用的端口。其他端口(如占位符 123)转发正常。那么问题是什么呢?

答案1

1024 以下的端口有多少个?

如果您只遇到低编号端口的问题,则目标计算机上的用户无权打开“安全”端口。

如果是这种情况,请以 root 身份登录目标机器。

相关内容