Regardez comment vous pouvez déconnecter facilement la connexion ssh d'un autre utilisateur par ligne de commande sous Mac OS ou Linux.
L'utilisation de SSH, ou Secure Shell, est un moyen très courant d'établir des connexions à distance aux machines Mac et Linux à partir de la ligne de commande. Si vous êtes administrateur système ou si vous avez activé SSH sur un Mac pour une autre raison, vous devrez peut-être éventuellement déconnecter la connexion ssh d'un autre utilisateur. Il existe plusieurs façons de mettre fin à la connexion ssh d'un utilisateur à un Mac (ou à une boîte Linux, ces conseils s'appliquent également là-bas), et nous en couvrirons quelques-uns.
Notez que ces approches fonctionneront pour fermer la session ssh d'un utilisateur, quelle que soit la façon dont vous avez activé SSH sur l'ordinateur. Que le Mac active ssh avec la connexion à distance ou active ssh par ligne de commande n'a pas d'importance à ces fins. De même, ces astuces sont écrites avec MacOS et Mac OS X à l'esprit, mais s'appliquent également à la fin des processus utilisateur ssh sous Linux et la plupart des autres versions Unix.
Comment fermer une connexion SSH d'utilisateurs
La façon la plus courante de déconnecter un utilisateur connecté via ssh est peut-être d'utiliser les commandes kill ou pkill, en ciblant le processus ssh spécifique en question ou le compte utilisateur directement.
Déconnexion de l'utilisateur ssh avec kill
Tout d'abord, obtenez l'ID de processus (PID) de la connexion SSH des utilisateurs:
ps aux | grep sshd
Ensuite, localisez le processus spécifique de la connexion ssh des utilisateurs cibles et ciblez-le avec kill -9. Par exemple, supposons que nous voulons mettre fin à la connexion ssh de l'utilisateur Batrus et que le processus pour «sshd: Batrus @ ttys011» a un PID de 5821:
kill -9 5821
L'effet est instantané et sur les utilisateurs, ils verront un message sur leur écran de terminal indiquant: "Connexion à l'hôte local fermée par l'hôte distant. Connexion à l'hôte local fermée."
Mettre fin de manière générale à une connexion SSH des utilisateurs et aux processus associés avec pkill
Une autre approche plus large consiste à tuer tous les processus appartenant à un compte d'utilisateur spécifique avec pkill, cela vous permet de cibler simplement un compte d'utilisateur plutôt qu'un ID de processus:
nom d'utilisateur pkill –u
Cela déconnectera instantanément le «nom d'utilisateur» de l'utilisateur en mettant fin à tous les processus de ces utilisateurs.
L'approche pkill est utile car elle accepte également les caractères génériques et vous pouvez également facilement cibler un processus par son nom si vous souhaitez mettre fin à tous les processus ssh par exemple.
Il existe d'autres possibilités pour mettre fin à la connexion ssh d'un autre utilisateur, mais les astuces ci-dessus sont peut-être les plus intuitives pour les utilisateurs avertis de la ligne de commande. Fondamentalement, toute méthode qui vous permet de voir les processus en cours et de localiser la connexion ssh des utilisateurs attendus fonctionnera pour obtenir le même effet; la fin de ce processus entraînera la déconnexion de cet utilisateur de ssh.
Déconnexion de l'utilisateur SSH d'un Mac avec Activity Monitor
Si vous êtes un utilisateur Mac qui préfère rester dans l'interface graphique, vous pouvez également utiliser le moniteur d'activité pour localiser la tâche et la terminer de cette façon, de la même manière que vous seriez obligé de quitter les applications Mac en général. Ouvrez simplement Activity Monitor, recherchez «ssh» et trouvez la connexion ssh des utilisateurs que vous souhaitez mettre fin, puis terminez ce processus via Activity Monitor.
Étant donné que cette approche utilise Activity Monitor, un utilitaire Mac natif, cette méthode ne fonctionnera évidemment pas pour les machines Linux car elles ne disposent pas de cet utilitaire, contrairement à toute autre approche pour cibler le processus.
Et juste au cas où vous vous poseriez la question, oui, tout cela fonctionnerait essentiellement de la même manière avec telnet, le partage d'écran ou toute autre méthode de connexion à distance, en ciblant les processus pertinents spécifiques au compte utilisateur connecté.
Si vous connaissez d'autres méthodes ou approches pour déconnecter les connexions ssh des utilisateurs ou déconnecter les utilisateurs de ssh, partagez-les avec nous dans les commentaires ci-dessous!