检查 SSH 隧道是否仍在运行

检查 SSH 隧道是否仍在运行

我正在运行如下所示的 SSH 隧道命令:

ssh -v [email protected] -L 9999:10.238.93.43:8991

但是当我使用 netstat 命令测试监听连接时,我没有看到隧道端口:

bastion001 ABB-LAB] 0 15:45:16 [~] $ netstat -tulpn | grep -i listen
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp6       0      0 ::1:25                  :::*                    LISTEN      -
tcp6       0      0 :::111                  :::*                    LISTEN      -
tcp6       0      0 :::8080                 :::*                    LISTEN      1078/java
tcp6       0      0 :::80                   :::*                    LISTEN      -
tcp6       0      0 :::8081                 :::*                    LISTEN      1078/java
tcp6       0      0 :::22                   :::*                    LISTEN      -

这是怎么回事?为什么我看不到隧道端口?

答案1

仅从启动 SSH 隧道的机器上可以看到监听端口。您的命令将以交互方式将您登录到远程系统。请考虑以下命令以获得更好的可见性:

ssh -nNf [email protected] -L 9999:10.238.93.43:8991

隧道启动后,从启动隧道的客户端计算机执行以下命令:

netstat -tulpn | grep -i listen

你应该得到如下结果:

tcp     0    0 127.0.0.1:9999       0.0.0.0:*      LISTEN      1286/ssh
tcp     0    0 ::1:9999              :::*           LISTEN      1286/ssh

结果中的两行都显示客户端的监听端口为 9999。服务器端无法获得相同的结果。

相关内容