![SSH 隧道仅在某些端口上接受](https://linux22.com/image/75086/SSH%20%E9%9A%A7%E9%81%93%E4%BB%85%E5%9C%A8%E6%9F%90%E4%BA%9B%E7%AB%AF%E5%8F%A3%E4%B8%8A%E6%8E%A5%E5%8F%97.png)
我正在使用运行 Ubuntu Server 14.04 的服务器。我用来Plink
请求从远程计算机到服务器的一些反向隧道。
对于某些端口工作得很好,但对于大多数端口,服务器似乎拒绝了请求。它适用于该应用程序经常使用的端口,例如 VNC 端口5900
、RDP 端口3389
和 MySQL 端口。它似乎也适用于5901-5999
.我想让其他端口也正常工作,但我不明白为什么它拒绝这些转发请求。
IPtables 中没有自定义规则,几乎是全新安装。
答案1
在本地端,1024 以下的端口具有特权,您需要ssh
以 root 身份运行才能将远程端口反向转发到这些端口。
在远程端,sshd_config
可以使用关键字锁定特定的隧道端口PermitOpen
。此外,如果没有远程计算机上的特权(ssh as root@remote_machine),则无法反向转发特权远程端口。
一种可能的解决方法是使用nc
或socat
转发端口,而不升级ssh
权限或更改sshd_config
.