首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的来自Windows的SSH隧道不工作,为什么我得到与Kubernetes相关的详细输出?

问为什么我的来自Windows的SSH隧道不工作,为什么我得到与Kubernetes相关的详细输出?
EN

Stack Overflow用户
提问于 2019-11-13 03:33:20
回答 1查看 1.1K关注 0票数 1

我通过端口5001设置了一条从windows10机器到linux机器的ssh隧道。我在linux机器上设置了一个netcat监听器,并通过从本地linux机器向它发送一条消息来验证它是否正确监听。我已经使用Putty (我已经做过一百万次了)通过端口5001设置了一条从Windows机器到linux机器的ssh隧道。当我在windows机器上运行netcat以详细模式发送消息时:

代码语言:javascript
复制
nc -vvv 127.0.0.1 5001 < message.txt

连接超时,我收到消息:

代码语言:javascript
复制
kubernetes.docker.internal [127.0.0.1] 5001 (?) open

我能想到的唯一与此相关的事情是我最近安装了"Docker Desktop For Windows“。我不知道为什么netcat会通过Docker,但它似乎是一个与Docker相关的问题。任何关于如何解决这个问题的想法都将不胜感激。

如果我禁用hosts文件中与kubernetes/docker相关的所有条目,并重新运行命令,我会得到:

代码语言:javascript
复制
myhost.mydomain.com [127.0.0.1] 5001 (?) open

我可以看到5001端口正在我的windows机器上被监听,因为当我执行"netstat -an“时,我可以看到它:

代码语言:javascript
复制
  TCP    127.0.0.1:5001         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:5001         0.0.0.0:0              LISTENING
  TCP    [::1]:5001             [::]:0                 LISTENING
  TCP    [::1]:5001             [::]:0                 LISTENING
EN

回答 1

Stack Overflow用户

发布于 2019-11-13 04:37:22

这不是您问题的确切答案,但我确信它将指导您解决ssh隧道问题。您可以停止ssh隧道并尝试netstat,以了解使用端口5001的服务对于示例I have list / grep localhost的所有连接:

代码语言:javascript
复制
  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,您可以找到导致我使用以下连接的示例的问题的原因

代码语言:javascript
复制
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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58825502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档