SSH (Secure Shell) es el sistema de red cifrado de extremo a extremo que permite a los usuarios obtener acceso de forma remota desde el cliente al servidor o sistema. Debido a su sistema de seguridad de criptografía asimétrica, es bastante seguro acceder al servidor incluso desde una red de cliente insegura. Pero a veces debido a la inactividad o la mala señal de la red, el acceso remoto SSH puede desconectarse. Cualquiera sea el motivo, como administrador de Linux, es un trabajo vital mantener las sesiones y los procesos SSH en ejecución después de la desconexión.
Razones por las que las sesiones SSH se desconectan
En pocas palabras, el error de proxy del túnel SSH, el tiempo de espera de la red, el uso del puerto de red incorrecto o incluso no haber iniciado sesión en su sistema como usuario root también pueden desconectarlo de la administración remota SSH. En esta publicación, vamos a discutir la pregunta más frecuente sobre SSH; cómo mantener las sesiones y los procesos SSH en ejecución después de que se produzca la desconexión.
1. Siga ejecutando sesiones SSH con el pantalla
Mando
La pantalla
El comando es el comando más utilizado y útil para la administración de SSH. La pantalla
El comando puede resolver problemas de nombre de host para direcciones IPv4 e IPv6. Con funcionalidades raíz, el pantalla
El comando puede cerrar sesión o descartar una sesión desde el extremo del cliente hasta el extremo del servidor. Si es un novato en Linux SSH, aquí hay algunas CLI que pueden ayudarlo a instalar y encontrar manuales del pantalla
mando.
Para Ubuntu:
$ sudo apt pantalla de instalación
Para OpenSUSE:
Pantalla de instalación de $ sudo zypper
Para Arch Linux:
$ sudo pacman -S pantalla
Para Red Hat Enterprise Linux:
$ sudo yum pantalla de instalación
Una vez que haya terminado de instalar, comience a monitorear la pantalla de inicio de su sistema.
$ screen $ screen --help
Una vez que tenga el acceso, SSH en el servidor, desea obtener acceso de forma remota. Si está planeando un trabajo nocturno largo desde su estación, pero no desea desconectar su cliente SSH, puede usar el pantalla
mando. Esto puede desconectar su sesión de pantalla, pero no se preocupe, las tareas que inició se completarán.
Para separar su pantalla presione Ctrl-A
y entonces Ctrl-D
desde tu teclado. Puede iniciar sesión para monitorear el progreso del trabajo en cualquier momento desde su terminal. Para volver a conectarse o conectarse con el existente con la sesión, use la siguiente CLI.
$ pantalla -r pantalla -D -r
2. Siga ejecutando sesiones SSH con el tmux
Herramienta
El tmux o multiplexor de terminal es una herramienta muy popular y útil para programadores y administradores de sistemas que permite a los usuarios cambiar de programa a programa en el mismo terminal. Para mantener las sesiones SSH ejecutándose en segundo plano, tmux
puede ser una solución muy rápida. Puede desconectar y volver a adjuntar aplicaciones donde los procesos se mantienen ejecutándose en segundo plano. Aquí están las instrucciones de instalación de tmux
para distribuciones de Linux.
Para Arch Linux:
$ sudo pacman -S tmux
Para Red Hat Enterprise Linux:
$ sudo yum install tmux
Para Ubuntu:
$ sudo apt-get install tmux
Para OpenSUSE:
$ sudo zypper instalar tmux
Después de instalar tmux
, iniciar el sesión tmux
usando comandos de terminal. No tomará mucho tiempo instalarlo. Una vez que haya terminado de instalar, ahora puede comenzar con tmux
. Para comenzar tmux
, solo escribe tmux en la terminal.
$ tmux
Si necesita ejecutar más de un multiplexor de terminal para mantener todas las sesiones SSH ejecutándose en segundo plano, en ese caso, puede encontrar dificultades para cambiar entre tmux
a tmux
. Aquí están las líneas de comando para cambiar de una forma a otra.
$ tmux separar $ tmux adjuntar $ tmux adjuntar -t 2
Para comprobar todos los tmux
pantalla usa el tmux lista
mando.
$ tmux ls
3. Siga ejecutando sesiones SSH con el byobu
Herramienta
La herramienta byobu se usa principalmente para la administración SSH remota y el monitoreo en pantalla en Linux. Es un software de código abierto y se puede utilizar junto con tmux
o el pantalla
herramienta. Puede ver el estado actual, las notificaciones y los mensajes con el byobu
herramienta. Aunque el byobu
viene instalado por defecto con Ubuntu. Pero si no es así, puede instalarlo dentro de su máquina Linux. Para comprobar si byobu
está instalado o no en su sistema comprobando las otras versiones de byobu.
$ byobu --version
Luego habilite byobu, le ayudará a mantener sus sesiones SSH ejecutándose en segundo plano incluso después de la desconexión.
$ byobu-enable
Aquí los procesos de instalación se explican con CLI.
Para Ubuntu:
$ sudo apt install byobu
Para OpenSUSE:
$ sudo zypper addrepo https: // descargar.opensuse.org / repositories / utilities / openSUSE_Leap_42.3 / utilidades.repositorio
$ sudo zypper actualizar $ sudo zypper instalar byobu
Para Arch Linux:
$ yaourt -S byobu $ packer -S byobu
Para Red Hat Enterprise Linux:
$ sudo yum install byobu
Para Fedora:
$ sudo dnf instalar byobu
Para empezar byobu
, simplemente escriba byobu en la terminal y presione Enter.
$ byobu
Ahora, si está usando el tmux
o el pantalla
, puede elegir y seleccionar entre cualquiera de ellos para backend colaborado.
$ byobu-select-backend
Ahora, puede administrar y mantener sus sesiones SSH ejecutándose en segundo plano después de la desconexión, use las teclas de función del teclado del sistema. Para comenzar con SSH junto con byobu, presione CTRL + MAYÚS + F2
desde su teclado para habilitar el entorno SSH. Para mover sus sesiones SSH hacia adelante y hacia atrás, puede usar ALT + ARRIBA
y ALT + ABAJO
.
Para desconectar sus sesiones SSH presione F6
desde el teclado. Ahora, si está buscando desconectar pero no desconectar la sesión, aquí tiene. Para desconectar las sesiones SSH y seguir conectado, presione MAYÚS + F6
. Aquí hay un comando de teclado adicional para ti. Para mantener activa solo la sesión de pantalla actual y cerrar todas las demás ventanas, presione ALT + F6
.
4. Siga ejecutando sesiones SSH con el nohup
Mando
La nohup
o el comando 'no hangup' es una herramienta alternativa muy útil para la pantalla o el tmux. También permite a los usuarios mantener las sesiones SSH en ejecución incluso después de desconectarse. La nohup
El comando le dice al sistema que ejecute todos los procesos en segundo plano evitando que la señal cuelgue (SIGHUP).
Para comprobar el nohup
manuales y opciones de su terminal Linux, escriba el siguiente comando en el terminal y presione Enter.
$ nohup opciones
Para comprobar las listas de trabajos actualmente activas, utilice el -l
comando desde tu terminal.
$ trabajos -l
Ahora, para la conexión SSH, para evitar la pérdida de conexión y mantener sus sesiones en ejecución después de la desconexión, use las líneas de comando nohup que siguen a su trabajo. También puede obtener la lista de salida de sus trabajos en un archivo de texto usando el comando cat junto con el comando nohup.
$ nohup ./Hola.sh $ gato nohup.fuera
Para ejecutar un proceso en segundo plano, puede utilizar el Y
símbolo justo después del nohup
mando. Como, si quiero probar ping para wordpress-408970-1286763.cloudwaysapps.com en segundo plano, la línea de comando será como la siguiente línea a continuación. Y cuando crea que su trabajo está hecho, para ver el resultado, use el pgrep
mando.
$ nohup ping ubuntupit.com & $ pgrep -a ping
5. Siga ejecutando sesiones SSH con el renegar de
Mando
Si no tiene los privilegios de root del sistema, tal vez este solucione su problema. La renegar de
El comando puede hacer que cualquier tarea no aparezca en la lista del registro del sistema en ejecución. Por lo tanto, puede ocultar un proceso en curso para evitar todos los errores de cierre de sesión automático o el cuelgue de la señal (SIGHUP). De hecho, puede usar el comando de administración de procesos de diswon para mantener sus sesiones SSH en ejecución ocultando su tarea.
Para eliminar u ocultar su tarea del administrador de tareas, use el comando diswon en la terminal.
$ repudiar
Para verificar el estado actual de la tarea, use el comando de shell actual.
$ caparazón actual
También puede establecer una lista de tareas en un comando de terminal de una sola línea.
$ descartar empleos1 $ descartar empleos1 empleos2… empleosn
Y para comprobar la lista de tareas, utilice el -l
mando.
$ trabajos -l
Para eliminar todos los trabajos actuales de la ventana, escriba el -a
sintaxis seguida por el comando disown.
$ repudiar -a
Para eliminar solo uno o el trabajo en ejecución de la ventana, utilice el -r
sintaxis seguida por el comando diswon.
$ repudiar -r
Ahora para SSH, para ejecutar un trabajo en segundo plano después de que la sesión esté conectada, use el -h
sintaxis. Este proceso puede mantener sus sesiones SSH en ejecución incluso después de la desconexión.
$ disown -h jobID $ disown -h% 2
Arreglando el se acabó el tiempo
Error de SSH en RHEL
Cuando está conectado a SSH en Red Hat Enterprise Linux (RHEL), puede tener un problema de tiempo de espera frecuente y perder la conexión. Este problema ocurre debido a que el tiempo de respuesta no es válido ya sea en el extremo del cliente o en el extremo del host. En su directorio raíz de Red Hat, debe buscar y editar el sshd_config.TXT
archivo para resolver estos problemas de tiempo de espera. Una vez que haya terminado, puede recuperar su conexión SSH incluso después de desconectarse.
Allí dentro del sshd_config.TXT
, archivo encontrará dos opciones nombradas como ClientAliveInterval
y ClientAliveCountMax
, necesita editar estos archivos de registro para maximizar el tiempo de respuesta del servidor al cliente. El intervalo de tiempo de espera se calcula multiplicando los valores de ClientAliveInterval y ClientAliveCountMax.
Todo lo que necesita es editar la duración de estos dos valores de acuerdo con la duración de respuesta de su sistema y red. Permita que desee maximizar el tiempo 10 minutos para el final del intervalo del cliente y 5 veces para el recuento de clientes, luego su registro de texto dentro del sshd_config.TXT
el archivo será como a continuación. Y luego, reinicia el SSH.
ClientAliveInterval 10m ClientAliveCountMax 5
Pensamientos finales
Para un administrador de sistemas, mantener las sesiones y los procesos SSH en ejecución es un trabajo crucial para satisfacer al cliente y cumplir con la tarea. Desconectarse y perder sesiones frecuentes es muy molesto y molesto. Entonces, en esta publicación, hemos intentado discutir e ilustrar las razones por las cuales las sesiones SSH se desconectan y también describimos todos los métodos posibles sobre cómo mantener las sesiones SSH ejecutándose después de la desconexión.
Si alguna vez ha pasado por la molestia de la desconexión de la sesión SSH y sabe lo molesto que podría ser, comparta su experiencia con nosotros. Y también comente si tiene algo que agregar o preguntar algo relacionado con esta publicación en la sección de comentarios. No olvides compartir esta publicación con tus amigos en las redes sociales.