Comment afficher toutes les connexions SSH actives sous Linux

0
Publicité

SSH est un protocole populaire et efficace qui vous permet de vous connecter et de gérer des hôtes distants à partir de votre machine locale. Ce guide vous guide à travers diverses commandes que vous pouvez utiliser pour vérifier les connexions SSH actives sur l’hôte distant.

Remarque : selon la configuration du système, certaines des commandes dont nous allons parler peuvent nécessiter que vous ayez un root ou des privilèges sudo.

1.Utilisation de la commande OMS

La première commande que vous pouvez utiliser pour afficher les connexions SSH actives est la commande who.

La commande who est utilisée pour montrer qui est actuellement connecté au système. Il nous permet de visualiser les utilisateurs connectés et les adresses IP sources.

Publicité

Pour utiliser la commande who, entrez simplement who sans aucun paramètre.

Dans la sortie ci-dessus, vous pouvez voir un utilisateur Debian connecté via tty et deux sessions SSH à partir d’une adresse IP distante.

Vous pouvez également ajouter des paramètres à la commande who pour afficher des informations détaillées.

Par exemple, pour afficher le dernier démarrage des utilisateurs connectés, ajoutez l’indicateur -b -u :

who -b -u

2.Utilisation de la commande W

La commande suivante que vous pouvez utiliser pour afficher l’état des différentes sessions SSH et des utilisateurs connectés au serveur est la commande w. Contrairement à la commande who, la commande w vous donne plus d’informations sur les processus en cours pour chaque utilisateur.

De plus, la commande w vous donnera des informations sur les connexions SSH inactives, ce qui est très utile lorsque vous devez les terminer.

Si vous exécutez la commande sans aucune autre option.

Dans l’exemple ci-dessus, la commande w donne des informations détaillées, telles que le nom d’utilisateur, la méthode TTY, l’adresse IP source, l’heure de connexion, le temps d’inactivité, etc.

Comme la commande who, vous pouvez également utiliser la commande w avec divers paramètres. Le tableau ci-dessous présente les différents paramètres que vous pouvez utiliser avec la commande w.

OptionRôle
-h, -pas d’en-têteInforme le terminal de ne pas imprimer l’en-tête
-u, -pas de courantInvite le terminal à ignorer le nom d’utilisateur car il affiche les processus des utilisateurs connectés et le temps CPU
-s, -shortIndique au terminal d’imprimer une sortie raccourcie – à l’exclusion du temps de connexion, du JCPU et du PCPU
-f, -fromActive/désactive l’option FROM de la sortie d’impression
–helpAffiche les différentes options/paramètres de la commande w et quitte
-v, –versionAffiche des informations sur la version et quitte
userRéduit les résultats à l’utilisateur spécifié

L’exemple ci-dessous montre la wcommande utilisée avec les paramètres -s et -f pour afficher une sortie abrégée des sessions SSH en cours avec la partie FROM tronquée.

3.Utilisation de la dernière commande

Vous pouvez également utiliser la commande last pour afficher toutes les sessions SSH connectées. La dernière commande affiche la liste des derniers utilisateurs connectés.

Cela fonctionne en vérifiant le fichier désigné. Par exemple, « /var/log/wtmp » affiche tous les utilisateurs qui se sont connectés et déconnectés depuis la création du fichier. La commande vous donne également des informations sur les sessions SSH créées entre le client et le serveur.

La syntaxe générale de la dernière commande est :

last

Étant donné que la sortie de la dernière commande est massive, nous pouvons utiliser la commande grep pour afficher uniquement les sessions actives.

last | grep still

Vous pouvez également modifier la sortie de la dernière commande pour afficher des informations détaillées.

Par exemple, pour afficher les noms d’utilisateur et les domaines complets, nous pouvons utiliser l’option -w.

last -w

La dernière commande prend en charge de nombreuses options. Voici les options les plus couramment utilisées pour la dernière commande.

OptionSon Role
-a, -hostlastAffiche le nom d’hôte dans la dernière colonne
-d, -dnsLinux stocke le nom d’hôte et l’adresse IP de tous les hôtes distants. Ce paramètre transforme l’IP en nom d’hôte
-fichier, -fichierInforme la dernière commande d’utiliser un fichier désigné autre que /var/log/wtmp
-F, -temps pleinLes dernières invites à imprimer toutes les dates et heures de connexion et de déconnexion
-i, -ipSimilaire au –dns, sauf qu’au lieu d’afficher le nom d’hôte de l’hôte, il affiche le numéro IP

4.Utilisation de la commande netstat

Nous ne pouvons pas oublier la commande netstat. Netstat est utilisé pour afficher toutes les connexions réseau, les interfaces réseau, les tables de routage, etc.

Vous pouvez également utiliser la commande netstat pour filtrer les sessions SSH établies ou connectées sur votre serveur Linux :

netstat | grep ssh

La commande ci-dessus affiche uniquement les connexions SSH établies.

Pour afficher toutes les connexions, y compris l’écoute et la non-écoute, nous pouvons utiliser l’option -a comme :

nestat -a | grep ssh

5.Utilisation de la commande ss

Si vous souhaitez en savoir plus sur les sessions SSH connectées, vous pouvez utiliser la commande ss, qui affiche les données de socket, les rendant similaires à netstat.

Par exemple, nous pouvons saisir la sortie de la commande ss avec l’option -a (all) pour afficher toutes les sessions SSH connectées. La syntaxe pour cela est :

ss -a | grep ssh

La sortie ci-dessus affiche toutes les connexions SSH sur l’hôte distant. Cela inclura le démon SSHD.

Pour filtrer les connexions SSH établies, vous pouvez rediriger la sortie vers grep.

ss -a | grep ssh | grep ESTAB

Les commandes ci-dessus ne renverront que les connexions SSH actives.

La commande ss a également des tonnes d’autres options que vous pouvez utiliser pour apprendre diverses choses sur les connexions de serveur actives. Par exemple, vous pouvez utiliser l’option -e pour afficher plus d’informations sur les informations de socket.

Publicité