我在Windows 10机器上通过端口5001设置了一条ssh隧道到linux盒。我在linux盒上设置了一个netcat侦听器,并通过从本地linux盒向它发送消息来验证它是否在正确侦听。我已经使用Putty(已完成一百万次)从Windows框到端口5001的Linux框建立了一条SSH隧道。当我在Windows机器上运行netcat以详细模式发送消息时:
nc -vvv 127.0.0.1 5001 < message.txt
连接刚刚超时,我收到消息:
kubernetes.docker.internal [127.0.0.1] 5001 (?) open
我唯一能想到的是,我最近安装了“ Windows Docker Desktop”。我不知道为什么netcat会通过Docker,但似乎可能是与Docker相关的问题。任何有关如何解决此问题的想法将不胜感激。
这不是您问题的确切答案,但是我相信它将指导您解决ssh隧道问题。您可以停止ssh隧道并尝试使用端口5001的netstat找出什么服务对于示例,我列出/ grep本地主机的所有连接:
C:\Users\myuser>netstat -ano | findstr "Proto" && netstat -ano | findstr "127.0.0.1"
Proto Local Address Foreign Address State PID
TCP 127.0.0.1:54235 127.0.0.1:62522 ESTABLISHED 11280
TCP 127.0.0.1:54451 127.0.0.1:54452 ESTABLISHED 12300
TCP 127.0.0.1:54452 127.0.0.1:54451 ESTABLISHED 12300
TCP 127.0.0.1:55337 0.0.0.0:0 LISTENING 6976
TCP 127.0.0.1:57147 0.0.0.0:0 LISTENING 13432
TCP 127.0.0.1:62522 0.0.0.0:0 LISTENING 4084
TCP 127.0.0.1:62522 127.0.0.1:54235 ESTABLISHED 4084
UDP 127.0.0.1:1900 *:* 12672
UDP 127.0.0.1:50292 *:* 832
UDP 127.0.0.1:54549 *:* 10680
UDP 127.0.0.1:56491 *:* 12316
UDP 127.0.0.1:57739 *:* 20800
UDP 127.0.0.1:58253 *:* 6976
UDP 127.0.0.1:58950 *:* 3116
UDP 127.0.0.1:60327 *:* 2128
UDP 127.0.0.1:64274 *:* 12672
C:\Users\myuser>
-a Displays all connections and listening ports.
-n Displays addresses and port numbers in numerical form.
-o Displays the owning process ID associated with each connection.
然后使用PID,您可以找到导致我使用以下连接示例的问题的原因
TCP 127.0.0.1:55337 0.0.0.0:0 LISTENING 6976
C:\Users\myuser>tasklist | findstr 6976
com.docker.proxy.exe 6976 Console 1 9,696 K
C:\Users\myuser>