【发布时间】:2023-03-15 03:06:01
【问题描述】:
我已经在 host1 上启动了反向 SSH 隧道:
host1@host1:~ $ while true; do echo "$(date) - Tunnel created" && ssh host2@host2 -NT -R3389:localhost:3389; done
我可以使用以下命令检查我从 host2 反向隧道的端口是否打开:
host2@host2:~$ nc -zv host1 3389
nc: connect to host1 port 3389 (tcp) failed: Connection refused
但是如果我发出以下命令,那么它(可能)会检查 localhost 上端口的状态。实际上是打开的:
host2@host2:~$ nc -zv localhost 3389
Connection to localhost 3389 port [tcp/*] succeeded!
但我想检查 SSH 隧道其他站点上的端口状态。因此,在我发出以下命令之前,之前的命令应该返回端口已关闭:
host1@host1:~/.ssh $ while true; do nc -lp 3389; done
由于 TCP 的性质,这甚至可能吗?
【问题讨论】:
标签: ssh tcp netcat ssh-tunnel