Serveur SSH – Récupère le pid du port de transfert de processus sshd #N

J’exécute un serveur (Ubuntu Server 14.04) qui permet aux clients de créer un tunnel SSH depuis leur appareil (Raspberry Pi) afin qu’ils puissent accéder à leur serveur Web à partir d’Internet (comme moyen de traverser des NAT). Je peux obtenir une liste des processus appartenant à l’utilisateur (ce qui est la même chose pour tous les périphériques) en utilisant ps -u username (cet utilisateur n’exécute sshd que pour transférer les ports), mais je ne peux pas filtrer ces processus par le port. retransmission. Donc, la question est, comment puis-je obtenir le pid du sshd qui transmet le port #N?

Vous pouvez utiliser la commande lsof car tout est un fichier sous Linux.

Quelque chose comme lsof -Pan -i | grep :PORT lsof -Pan -i | grep :PORT vous donnera ce que vous demandez Il a une sortie comme celle-ci quand je l’exécute pour le port 80 sur ma machine:

 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) 

Plus sur lsof peut être trouvé ici