[英]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.