Cómo cerrar la sesión de un usuario fuera de SSH en Linux

Si ha iniciado sesión en un sistema Linux remoto a través de SSH, solo necesita usar el comando exit para cerrar sesión en SSH.

                      
                        exit
                      
                    

Esta bien. Pero, ¿qué sucede si desea cerrar la sesión de otro usuario de la conexión SSH?

En este consejo rápido, le mostraré cómo puede expulsar a cualquier usuario del sistema.

Cerrar sesión de un usuario de la sesión SSH

Primero, verifique la lista de usuarios registrados en su servidor Linux. Hay varias formas de hacerlo. Usaré el comando who con la opción -u . Esta opción muestra el ID de proceso de la sesión de shell de inicio de sesión de los usuarios.

                      
                        who -u
                      
                    

Aquí hay una salida de muestra:

                      
                        [email protected]:~# 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)
                      
                    

Ahora imagina que quiero patear el uso prakash de la sesión SSH. El ID de proceso de su sesión de shell es 32004. Si cancela la sesión de shell de inicio de sesión, el usuario se desconectará.

Para hacer eso, puede usar el comando matar para enviar un SIGHUP señal. Esta la señal se utiliza para informar que el terminal del usuario está desconectado. También desconecta efectivamente todos los procesos en la sesión del terminal de control.

                      
                        sudo kill -HUP 32004
                      
                    

Por supuesto, para realizar tal acción, debe ser root o un sudo usuario.

Hay algunas cosas que debe saber y hacer.

Enviar un mensaje antes de terminar la sesión

Es una buena idea informar al usuario final antes de finalizar su sesión. Puede usar el comando de escritura para enviar rápidamente un mensaje al usuario de esta manera:

                      
                        echo "Your session will end in 2 minutes. Save your work!" | write prakash pts/2 
                      
                    

Forzar el cierre de una sesión SSH si SIGNHUP no funciona

Si la señal SIGHUP no funciona, envíe la señal SIGKILL.

                      
                        sudo kill -9 32004
                      
                    

También puede cerrar la sesión de un usuario de la sesión seleccionada si el usuario tiene más de una sesión SSH

Si el mismo usuario inicia sesión desde más de un sistema o terminal, solo se verá afectada la sesión que está eliminando. No expulsará al usuario de todas las sesiones.

Este es el caso cuando su sesión SSH se cuelga por algún motivo, como la desconexión de la red. Puede eliminar la terminal y abrir otra sesión SSH desde una nueva terminal, pero ahora se ve conectado al sistema dos veces.

En tal caso, puede close la sesión que ya no debería estar activa.

Puede identificar qué usuario iniciar desde el momento del inicio de sesión que es visible en la salida del who mando. No te preocupes, el peor de los casos sería que te desconectaras de tu sesión actual. Pero luego puede iniciar sesión de nuevo.

Espero que este consejo rápido te haya ayudado a cerrar la sesión de un usuario de SSH en Linux. Sus preguntas y sugerencias son bienvenidas.

Related Posts