繁体   English   中英

SSH服务器-获取sshd进程转发端口#N的pid

[英]SSH server - Get pid of sshd process forwarding port #N

我正在运行一台服务器(Ubuntu Server 14.04),该服务器允许客户端从其设备(Raspberry Pi)建立ssh隧道,以便客户端可以从Internet访问其Web服务器(以遍历NAT的方式)。 我可以使用ps -u username (该用户仅运行sshd来转发端口)来获得用户拥有的进程列表(对于所有设备而言都是相同的),但是我无法通过其端口过滤这些进程重新转发。 所以问题是,如何获取转发端口#N的sshd的pid?

您可以使用lsof命令,因为一切都是Linux上的文件。

lsof -Pan -i | grep :PORT lsof -Pan -i | grep :PORT将满足您的要求。 当我在机器上为端口80运行它时,它具有这样的输出:

Command    PID     USER     FD  TYPE  DEVICE SIZE/OFF NODE  NAME
nginx      1104     root    6u  IPv4  23348      0t0  TCP *:80 (LISTEN)
nginx      1105 www-data    6u  IPv4  23348      0t0  TCP *:80 (LISTEN)
nginx      1106 www-data    6u  IPv4  23348      0t0  TCP *:80 (LISTEN)
nginx      1107 www-data    6u  IPv4  23348      0t0  TCP *:80 (LISTEN)
nginx      1108 www-data    6u  IPv4  23348      0t0  TCP *:80 (LISTEN)

关于lsof更多信息可以在这里找到

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM