Trouver actuellement connecté numéro de port SSH

je suis de la création d'un local simulateur (non connecté à internet) à l'aide de la connexion SSH. J'ai commencé sshd sur une plage de numéros de port et Nat une gamme d'appareils de celles-ci. Je dois trouver le actuellement connecté numéro de port.

CentOS 5.5
OpenSSH 6.1

J'ai effectué les opérations suivantes. Il travaille pour une utilisation normale (manuel utilisateur).Mais lorsque j'essaie un de rigoureux tests automatisés () il me semble que c'est à défaut parfois de trouver le numéro de port.

#!/bin/bash

WHOINFO=`who -m`

USERNAME=`echo $WHOINFO | awk 'NR==1{print $1}'`
PTSNUMBER=`echo $WHOINFO | awk 'NR==1{print $2}'`

USERSTR=$USERNAME"@"$PTSNUMBER

PID=`ps -eLf | grep $USERSTR | awk 'NR==1{print $3}'`

if [ -z "$PID" ];
then
        exit
fi

PORTSTR=`netstat -natp | grep $PID | awk 'NR==1{print $4}'`

PORTNUMBER=${PORTSTR//*:/}

echo $PORTNUMBER
  • votre grep motif pour PID doit être $PID/, comme il est présenté sous cette forme dans la sortie; sinon, vous pouvez mal de match de ports sont numérotés de la même que la PID vous essayez de faire correspondre.
InformationsquelleAutor Antarus | 2013-05-09