![同一端口上的 ssh 隧道和反向隧道](https://linux22.com/image/731062/%E5%90%8C%E4%B8%80%E7%AB%AF%E5%8F%A3%E4%B8%8A%E7%9A%84%20ssh%20%E9%9A%A7%E9%81%93%E5%92%8C%E5%8F%8D%E5%90%91%E9%9A%A7%E9%81%93.png)
我有一台 AWS 服务器,我想将其用作传递 vnc 会话的桥梁。我目前正在尝试在我的计算机上解决问题。我使用 putty 来创建 SSH 隧道和反向隧道(使用端口转发),并使用 netcat 来写入端口或监听。
以下是我可以分别做的事情:
- 使用 netcat 监听服务器上的 5933 端口,可以很好地显示我在计算机上的 5934 端口上使用 netcat 写入的内容:
SSH tunnel: localhost:5934---->awsServer:5933
- 使用 netcat 监听我的计算机的 5932 端口,在执行以下命令后,可以很好地显示我在服务器的 5933 端口上使用 netcat 写入的内容:
Reverse SSH tunnel: awsServer:5933----->localhost:5932
如果 SSH 隧道和反向隧道同时运行,我无法从我的计算机上:
nc localhost 5934
它立即返回,没有任何消息。
但我可以从服务器上:
nc localhost 5933
当我监听计算机的 5932 端口时,它会显示从服务器输入的内容。
现在,我该如何让它发挥作用:
同时从计算机:5934 到服务器:5933 建立隧道,从服务器:5933 到计算机:5932 建立反向隧道?
因此,通过从我的启动:
bash1: nc localhost 5934
和
bash2: nc -l 5932
在bash1中输入的文本也会显示在bash2中。
我错过了什么?