我正在尝试通过 SSH 隧道跳转到 Tomcat7 服务器,其中在端口 9090 上配置了 JMX。
本质上:localhost > hostB > hostC
。
在终端中,从 localhost 到 hostB:
ssh -L 8989:localhost:8989 me@hostB
一旦连接到主机 B,我将输入以下命令连接到主机 C:
sudo -u userA ssh userB@hostC -i /path/to/key -p 21559 -L 8989:localhost:9090
在 VisualVM 中,我尝试连接到 localhost:8989 但得到"Cannot connect to localhost:8989 using service:jmx:rmi..."
.
Tomcat/JMX 的配置与位于防火墙内的其他服务器相同。之前已确认这些可以通过 VisualVM 访问。
所有命令都无需转发端口即可工作。我能够与 hostC 交互,没有任何问题。我现在根本无法挖掘隧道。
更新#1
使用 hostC 中的 netstat:
[userB@hostC ~]$ netstat -an | grep 8989
[userB@hostC ~]$ netstat -an | grep 9090
tcp 0 0 :::9090 :::* LISTEN
终端看起来像这样:
[userB@hostC ~]$
在另一个终端中,我输入了以下内容:
telnet localhost 8989
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'
好像已经连接了?
答案1
假设您没有观察到 ssh 出现任何错误,它应该可以正常工作。我将使用 telnet 到端口 8989 进行测试,并查看 netstat -an 来侦听连接,并确保您看到一直建立的连接