Si vous êtes administrateur système Linux et responsable de la gestion des serveurs, vous devrez souvent savoir combien de connexions ssh sont actives sur votre serveur et d'où proviennent les connexions. Il existe plusieurs commandes et outils disponibles sous Linux pour trouver les connexions SSH actives sur votre serveur.
Dans ce tutoriel, nous allons montrer comment trouver des connexions SSH actives avec différentes méthodes sous Linux.
Prérequis
- Un serveur exécutant le système d'exploitation Linux.
- Vous disposez d'un accès root sur ce serveur.
Trouver une connexion SSH active avec la commande who
who est l'utilitaire de ligne de commande Linux utilisé pour afficher une liste des utilisateurs actuellement connectés au serveur.
Ouvrez votre terminal et exécutez la commande who pour trouver les connexions actives sur votre serveur :
qui
Vous devriez obtenir le résultat suivant :
racine pts/0 2020-05-01 02:37 (27.61.161.61)racine pts/1 2020-05-01 02:39 (45.58.38.21)
Comme vous pouvez le voir, il existe deux connexions SSH actives à partir de l'IP 27.61.161.61 et 45.58.38.21.
Rechercher une connexion SSH active avec la commande w
w est un autre utilitaire de ligne de commande qui affiche les informations sur l'utilisateur actuellement connecté sur votre serveur. Cette commande fournit plus d'informations que qui commande comme les sessions actives et le processus en cours d'exécution sur ces sessions.
Vous pouvez exécuter la commande w comme indiqué ci-dessous :
w
Vous devriez obtenir le résultat suivant :
02:40:07 jusqu'à 1 jour, 18:35, 2 utilisateurs, charge moyenne :0,02, 0,02, 0,00USER TTY FROM [email protected] IDLE JCPU PCPU WHATroot pts/0 27.61.161.61 02:37 1.00s 0.04 s 0.01s ssh [email protected]root pts/1 45.58.38.21 02:39 1.00s 0.02s 0.00s w
Comme vous pouvez le voir, cette commande affiche également les détails du temps d'inactivité, l'adresse IP source, l'heure de connexion, la charge moyenne et les processus.
Rechercher une connexion SSH active avec la commande ps
La commande ps vous donne également des informations sur les sessions SSH actives sur votre serveur. Il vous donne des informations supplémentaires comme le PID des connexions SSH actives.
Vous pouvez exécuter la commande ps comme indiqué ci-dessous
ps auxwww | grep sshd :| grep -v grep
Vous devriez voir le résultat suivant :
racine 609 0.0 0.1 12160 7268 ? Ss Apr29 0:01 sshd:/usr/sbin/sshd -D [auditeur] 0 sur 10-100 startupsroot 35532 0.0 0.2 13864 8796 ? Ss 02:37 0:00 sshd :[protégé par e-mail]/0root 35669 0.0 0.2 13860 8916 ? Ss 02:38 0:00 sshd :[email protected]/1
Rechercher une connexion SSH active avec la commande netstat
Netstat est un outil de ligne de commande qui peut être utilisé pour afficher les connexions SSH actives ou établies entre les hôtes distants et votre serveur.
Vous pouvez exécuter la commande netstat comme indiqué ci-dessous :
netstat -tnpa | grep 'ETABLI.*sshd'
Vous devriez voir le résultat suivant :
tcp 0 88 45.58.38.21:22 27.61.161.61:8363 ÉTABLI 35532/sshd :[protégé par e-mail] tcp 0 0 45.58.38.21:22 45.58.38.21:51166 ÉTABLI 35669/sshd :[préprotégé par e-mailRechercher une connexion SSH active avec la dernière commande
La dernière commande permet d'afficher la liste de tous les utilisateurs connectés et déconnectés depuis la création du fichier /var/log/wtmp. Avec la dernière commande, vous pouvez également trouver les informations de connexion SSH actives entre le client et le serveur.
Exécutez la commande suivante pour rechercher les connexions SSH actives sur votre serveur.
dernier -a | grep -i encoreVous devriez voir le résultat suivant :
root pts/1 Ven 1er mai 02:39 toujours connecté 45.58.38.21root pts/0 Ven 1er mai 02:37 toujours connecté 27.61.161.61reboot system boot Mer 29 avril 08:04 toujours en cours d'exécution 5.4.0- 26-génériqueRechercher une connexion SSH active avec la commande ss
ss est très similaire à netstat et utilisé pour afficher plus d'informations que d'autres outils. Vous pouvez utiliser la commande ssh avec grep pour répertorier la connexion SSH active sur votre serveur.
Exécutez la commande ss avec grep comme indiqué ci-dessous :
ss | grep -i sshVous devriez voir le résultat suivant :
tcp ESTAB 0 0 45.58.38.21:51166 45.58.38.21:ssh tcp ESTAB 0 56 45.58.38.21:ssh 27.61.161.61:8363 tcp ESTAB 0 0 45.58.38.21:ssh 45.58.38.21:Comme vous pouvez le voir, il y a deux connexions actives à partir de l'IP client 45.58.38.21 et 27.61.161.61.
Conclusion
Dans le guide ci-dessus, nous avons appris à trouver des connexions SSH actives avec différentes méthodes. Vous pouvez désormais contrôler facilement qui est connecté à votre serveur.