Maison > Tutoriel système > Linux > Comment mettre fin aux sessions SSH inutilisées ou inactives

Comment mettre fin aux sessions SSH inutilisées ou inactives

WBOY
Libérer: 2024-01-03 14:24:27
avant
1252 Les gens l'ont consulté
Présentation Comment fermer une session ssh inactive ? Utilisez d'abord la commande w pour identifier la session ssh inactive ou inactive, puis utilisez la commande pstree pour obtenir le PID de la session inactive, et enfin utilisez la commande kill pour fermer la session.

Comment mettre fin aux sessions SSH inutilisées ou inactives
Supposons que lorsque vous travaillez sur un serveur via ssh, la connexion de votre session est déconnectée en raison du réseau, de l'alimentation ou du redémarrage du PC local.

Vous pouvez ou non vous reconnecter au serveur pour continuer à travailler, mais vous vous retrouverez toujours avec la session ssh qui n'a pas été fermée auparavant.

Comment fermer une session ssh inactive ? Utilisez d'abord la commande w pour identifier la session ssh inactive ou inactive, puis utilisez la commande pstree pour obtenir le PID de la session inactive, et enfin utilisez la commande kill pour fermer la session.

Lecture recommandée : Mosh (Mobile Shell) - La meilleure alternative à la connexion à distance SSH

Comment identifier les sessions SSH inactives ou inactives

Connectez-vous au système et utilisez la commande w pour vérifier combien d'utilisateurs sont actuellement connectés. Une fois que vous avez identifié la connexion de votre session, vous pouvez noter la fermeture des autres sessions ssh inactives ou inactives.
Dans mon exemple actuel, je peux voir deux utilisateurs connectés, dont l'un est la session ssh dans laquelle j'exécute actuellement la commande w et l'autre est la session inactive précédente.

# w
10:36:39 up 26 days, 20:29, 2 users, load average: 0.00, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 219.91.219.14 10:34 28.00s 0.00s 0.00s -bash
root pts/2 219.91.219.14 10:36 0.00s 0.00s 0.00s w
Copier après la connexion
Comment obtenir le PID d'une session SSH

Pour fermer une session SSH inactive, nous avons besoin du PID du processus parent du processus de session inactive. Nous pouvons exécuter la commande pstree pour afficher un diagramme arborescent comprenant tous les processus afin d'obtenir le pid du processus parent.
Vous obtiendrez un résultat similaire à l’exemple ci-dessous. Le résultat de la commande pstree sera bien plus que cela, et j'ai supprimé de nombreux contenus non pertinents pour une meilleure compréhension.

# pstree -p
init(1)-+-abrtd(2131)
|-acpid(1958)
|-httpd(32413)-+-httpd(32442)
|
|-mingetty(2198)
|-mysqld_safe(24298)---mysqld(24376)-+-{mysqld}(24378)
|
|-php(32456)-+-php(32457)
|
|-sshd(2023)-+-sshd(10132)---bash(10136)
| `-sshd(10199)---bash(10208)---pstree(10226)
|-udevd(774)-+-udevd(2191)
`-udevd(27282)
Copier après la connexion

À partir du résultat ci-dessus, vous pouvez voir un diagramme arborescent des processus et des branches sshd. Le processus principal de sshd est sshd(2023), et les deux autres branches sont sshd(10132) et sshd(10199).

Comme je l'ai dit au début de l'article, l'un d'eux est ma nouvelle connexion de session sshd(10199) qui montre la commande pstree que j'exécute, donc la session inactive est un autre processus comme sshd(10132).

Lecture recommandée : Comment accéder au serveur Secure Shell (SSH) via un navigateur Web standard
Lecture recommandée : PSSH - Exécuter des commandes en parallèle sur plusieurs serveurs Linux

Comment fermer une session SSH inactive

Nous avons toutes les informations sur les sessions inactives. Utilisons donc la commande kill pour fermer la session inactive. Veuillez vous assurer de remplacer le PID ci-dessous par le PID de session inactive sur votre serveur.

# kill -9 10132
Copier après la connexion

(Traduction LCTT : Voici un autre outil pkill. Utilisez pkill -t pts/0 -kill pour fermer la session. Il est disponible sous debian 8. Certaines versions semblent devoir changer la position de -kill)

Vérifiez à nouveau si la session inactive a été fermée

Utilisez à nouveau la commande w pour voir si la session inactive a été fermée. C'est vrai, seule ma session en cours est toujours là, donc la session inactive a été fermée.

# w
10:40:18 up 26 days, 20:33, 1 user, load average: 0.11, 0.04, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/2 219.91.219.14 10:36 0.00s 0.00s 0.00s w
Copier après la connexion

Lecture recommandée : rtop - un outil utile pour surveiller les serveurs distants via SSH

Lecture recommandée : DSH - Exécuter des commandes sur plusieurs serveurs Linux simultanément

Vérifiez à nouveau en utilisant la commande pstree

Utilisez à nouveau la commande pstree pour confirmer. Oui, seule ma propre session ssh est toujours là.

# pstree -p
init(1)-+-abrtd(2131)
|-acpid(1958)
|
|-httpd(32413)-+-httpd(32442)
|
|-mingetty(2198)
|-mysqld_safe(24298)---mysqld(24376)-+-{mysqld}(24378)
|
|-php(32456)-+-php(32457)
|
|-sshd(2023)---sshd(10199)---bash(10208)---pstree(10431)
|-udevd(774)-+-udevd(2191)
`-udevd(27282)
Copier après la connexion

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!

source:linuxprobe.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal