我正在运行如下所示的 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。服务器端无法获得相同的结果。