Maison > Article > Tutoriel système > Comment déconnecter les autres utilisateurs SSH sous Linux
Aujourd'hui, nous présenterons brièvement comment expulser les autres utilisateurs connectés au système via ssh.
Mot pixelisé Linux fabriqué à partir de cubes, motif mosaïque
Si vous vous connectez à un système Linux distant via ssh, utilisez simplement la commande exit pour quitter ssh. Et si vous souhaitez déconnecter les autres utilisateurs connectés au système via ssh ?
Déconnectez-vous de l'utilisateur en session SSH
Tout d’abord, vérifiez la liste des utilisateurs connectés au système Linux. Il existe différentes manières d'y parvenir, nous utilisons ici la commande who, ainsi que l'option -u, qui affichera l'ID de processus de la session shell connectée au système :
who -u
Le résultat ressemble à ceci :
root@localhost:~# who -u abhishek pts/0 2021-04-05 09:25 00:01 31970 (223.180.180.107) prakash pts/1 2021-04-05 09:26 . 32004 (223.180.180.107) root pts/2 2021-04-05 09:26 . 32039 (223.180.180.107)
Alors maintenant, disons que notre tâche consiste à expulser l'utilisateur prakash de la session ssh, dont l'ID de processus de la session shell est 32004. L'utilisateur sera déconnecté une fois terminé.
Pour ce faire, vous pouvez utiliser la commande kill pour envoyer un signal SIGHUP, qui est utilisé pour signaler que le terminal de l'utilisateur a été déconnecté, et peut également déconnecter efficacement tous les processus de la session du terminal de contrôle.
sudo kill -HUP 32004
Bien sûr, pour effectuer cette opération, vous devez être l'utilisateur root ou disposer des autorisations sudo.
Comme une habitude relativement conviviale, il est préférable d'envoyer un message à un utilisateur avant de le kicker. Pour envoyer des informations, vous pouvez utiliser la commande write, comme indiqué ci-dessous :
echo "Your session will end in 2 minutes. Save your work!" | write prakash pts/2
Alors, que se passe-t-il si l'envoi d'un signal SIGNHUP ne fonctionne pas ? Vous pouvez également forcer la fin de la session ssh.
Forcer la fin de la session SSH
Si le signal SIGHUP ne fonctionne pas, vous pouvez envoyer le signal SIGKILL.
sudo kill -9 32004
Si vous avez plusieurs sessions SSH, vous pouvez déconnecter l'utilisateur de la session sélectionnée
Si un utilisateur unifié se connecte à partir de plusieurs systèmes ou terminaux, l'opération ci-dessus n'affectera que la session que nous souhaitons mettre fin, elle n'expulsera pas toutes les sessions de l'utilisateur.
Par exemple, lorsque la session ssh raccroche pour certaines raisons (telles que la déconnexion du réseau), nous pouvons mettre fin au terminal et ouvrir une autre session ssh à partir du nouveau terminal. Dans ce cas, nous pouvons nous voir connectés au système. -taux.
À ce moment, nous devons fermer la session inactive.
Dans le résultat de la commande who, nous pouvons déterminer quel utilisateur expulser en fonction de l'heure de connexion. Bien sûr, vous pouvez être expulsé en raison d'un mauvais jugement, mais ce n'est pas grave, vous pouvez vous reconnecter.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!