Cómo salir de una sesión SSH que no responde en Linux

Cómo salir de una sesión SSH que no responde en Linux
Lectores como usted ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

Es posible que esté escribiendo una sesión SSH remota y, de repente, no sucede nada. El sistema no parece responder a sus pulsaciones de teclas. ¿A qué te dedicas?





MUO Vídeo del día DESPLÁCETE PARA CONTINUAR CON EL CONTENIDO

A continuación le explicamos por qué sucede, cómo salir de una sesión SSH que no responde y por qué es posible que desee cambiar a Mosh.





¿Qué causa que las sesiones SSH se congelen?

La razón principal por la que las sesiones SSH se congelan es la caída de la conexión de red. Las señales de Wi-Fi pueden disminuir o es posible que dejes que tu computadora entre en modo de suspensión. Esto es más común con las computadoras portátiles. Es posible que cierres la tapa de la computadora portátil y olvides que todavía estás conectado a través de SSH.





Steam dice que no hay suficiente espacio en disco

SSH se diseñó originalmente en una era anterior a que la gente usara computadoras portátiles de manera rutinaria. SSH funciona mejor en redes cableadas.

1. Terminar con una secuencia de escape

  Salir de una sesión SSH con una secuencia de escape

Si su sesión SSH se congela, intente utilizar una secuencia de escape. Una secuencia de escape le permite enviar señales al cliente SSH en lugar de a la máquina remota. Las secuencias de escape están precedidas por un carácter de escape. De forma predeterminada en el cliente OpenSSH, es el tilde (~) personaje.

Para salir del cliente SSH, puede presionar la tecla tilde y luego la tecla período (.) llave.

También puedes cambiar el carácter de escape si lo deseas. Puede especificar un nuevo carácter de escape con el -Es opción en la línea de comando. También puedes cambiarlo permanentemente configurando el EscapeChar opción en tu .ssh/config archivo en su directorio personal en la máquina local.

2. Usando el comando matar

  Buscando sesión SSH con ps y grep

Si usar una secuencia de escape no funciona, puede intentar eliminar el cliente SSH. Para encontrar el ID de proceso (PID) de su sesión, canalice el comando ps a través de grep:

 ps aux | grep ssh

El argumento 'aux' de ps significa 'enumerar todos los procesos del sistema, sin importar a quién pertenezca o si tiene un terminal de control O no.'

Si tiene varias sesiones, puede elegir la congelada porque la lista mostrará el nombre de usuario y la dirección en la máquina remota en la que están iniciadas las sesiones SSH. Una vez que haya encontrado el PID de su sesión, puede finalizarla con el comando kill:

 kill [PID]

Para mejores conexiones SSH, ¡use Mosh!

  Sesión remota de Vim en Mosh con la red desconectada

Una mejor manera de evitar las molestas sesiones SSH congeladas es utilizar mosh . Si la conexión se cae, Mosh te permitirá permanecer conectado. Enviará cualquier mensaje cuando se vuelva a conectar. También funciona cuando pones tu máquina en modo de suspensión.

También puede usar un multiplexor de terminal como GNU Screen o tmux para reanudar su sesión SSH después de cualquier desconexión, pero Mosh y tmux son aún más poderosos cuando se usan juntos .

Para instalar Mosh en Debian y Ubuntu:

 sudo apt install mosh

Y en Arch Linux:

 sudo pacman -S mosh

Sobre la familia de distribuciones Red Hat:

 sudo dnf install mosh

Ahora puede deshacerse de las sesiones SSH atascadas

Las sesiones SSH que no responden pueden ser frustrantes, pero puedes deshacerte de ellas con una secuencia de escape o el comando Kill. Mosh es un reemplazo aún mejor que mantendrá viva su conexión durante las caídas de conexión y las suspensiones del sistema.