我有一台运行的服务器,人们可以从许多不同的地方通过 ssh 登录并打开远程 ssh 隧道到不同防火墙后面的其他地方。现在我想尝试了解哪个 LISTEN 端口连接到哪个已连接的 ssh 会话以及打开的远程隧道。我无法访问客户端 ssh 计算机。
例如服务器上的 LISTEN 端口
$ lsof -i4 -sTCP:LISTEN
sshd 5543 usera 9u IPv4 97603715 0t0 TCP *:8888 (LISTEN)
sshd 5543 userb 11u IPv4 97603719 0t0 TCP *:3060 (LISTEN)
sshd 5543 userc 13u IPv4 97603723 0t0 TCP *:8889 (LISTEN)
我如何找出哪个 LISTEN 端口连接到已建立的 ssh 连接:
$ lsof -i TCP:22 -a -u root
sshd 5546 root 3u IPv4 97603798 0t0 TCP server:ssh->client1:42896 (ESTABLISHED)
sshd 11846 root 3u IPv4 97193507 0t0 TCP server:ssh->client2:51586 (ESTABLISHED)
sshd 11847 root 3u IPv4 97193512 0t0 TCP server:ssh->client3:51588 (ESTABLISHED)
我知道它们是相关的,但我无法将 ssh 连接(较低的输出)映射到 LISTEN 端口。 sshd 进程知道这一点,但我如何从他那里获取这些信息呢?
任何帮助,将不胜感激。
谢谢!