LINUX

Cómo usar el comando de pantalla de Linux para SSH de forma remota

Cuando usa el comando ssh, solo le da una pantalla (terminal). Si pierde esa pantalla, perderá todo lo que estaba haciendo en la computadora remota. A veces sucede cuando un problema de red interrumpe la conexión ssh y pierdes lo que estabas haciendo y tienes que volver a conectarte al servidor remoto. Esto puede ser muy malo si estás en medio de algo importante. Por ejemplo, si desea hacer tres cosas a la vez, como «vi httpd.conf», «tail -f /var/log/messages» y «service httpd reload», debe abrir tres sesiones ssh separadas.

La utilidad de pantalla GNU es un multiplexor de terminal. Si usted es un administrador de sistemas que trabaja en servidores remotos, screen es una excelente herramienta para administrar una computadora remota con solo una interfaz de línea de comandos disponible. Le permite cerrar sesión y luego volver a iniciar sesión en la misma sesión de pantalla más tarde.

Está instalado de forma predeterminada en Ubuntu, para el sistema basado en RHEL puede instalar la pantalla usando el comando yum

# yum install screen

Para usar la pantalla, ingrese el siguiente comando:

$ screen

Es posible que vea un mensaje de bienvenida si está allí y luego vea un aviso de bash regular en la ventana. Para controlar la pantalla, presione la tecla Ctrl+a combinación de teclas, seguida de otra pulsación de tecla.

P.ej, Ctrl+a seguido por ? (indicado como Ctrl+a, ?) muestra la pantalla de ayuda.

Estos son algunos comandos y teclas de control que puede usar para operar la pantalla.

Teclas de control de pantalla

$ screen -ls
There is a screen on:
7089.pts-1.server10 (Attached)
1 Socket in /var/run/screen/S-francois.

Change window title
$ Ctrl+a, a
Set window's title to: My Server10

Create a new window
$ Ctrl+a, c

Show active window titles
$ Ctrl+a, "
Num Name Flags
0 My Server Up/down arrows change windows
1 bash

Detach screen from terminal

$ Ctrl+a, d

La sesión de pantalla que se muestra arriba resultó en la creación de dos ventanas (cada una ejecutando un shell bash). Puedes crear tantos como quieras y nombrarlos como quieras. Además, en lugar de desconectarse de la sesión de la pantalla, podría haberla cerrado simplemente saliendo del shell en cada ventana abierta (escriba exit o Ctrl+d).

Volver a conectarse a una sesión de pantalla

Cuando se desconecte la sesión de la pantalla, volverá al shell que estaba abierto cuando se conectó al servidor por primera vez. Puede volver a esa pantalla más tarde (incluso después de cerrar sesión y desconectarse del servidor). Para volver a conectarse cuando se está ejecutando la pantalla única, ingrese lo siguiente:

$ screen -r

Si se están ejecutando varias sesiones de pantalla, screen -r no funcionará Por ejemplo, esto muestra lo que sucede cuando se ejecutan dos sesiones de pantalla separadas:

$ screen -r
There are several suitable screens on:
2242.pts-4.server10 (Detached)
3354.pts-4.server10 (Detached)

Type "screen [-d] -r [pid.]tty.host" to resume one of them.

As the output suggests, you could identify the screen session and select which screen you want to connect to:

$ screen -r 2242.pts-4.server10

Pantalla de nombre de sesiones

En lugar de usar los nombres predeterminados, puede crear nombres más descriptivos para sus sesiones de pantalla cuando inicie la pantalla.

P.ej:

$ screen -S testsession
$ screen -ls
There is a screen on:
26523.testsession (Attached)

Sesiones para compartir pantalla

Estas son cosas muy importantes para los administradores de sistemas. El comando de pantalla también permite compartir la pantalla. Esta característica es excelente para el soporte técnico porque todos los que iniciaron sesión en la sesión pueden escribir y ver la sesión actual. Crear una pantalla con nombre, como en la sección anterior, lo hace más fácil. Luego, otra persona en una computadora diferente puede ssh al servidor (usando el mismo nombre de usuario) y escribir lo siguiente:

$ screen -x testsession

Igual que con screen -rsi solo se está ejecutando una pantalla, no necesita especificar a qué pantalla se está conectando:

$ screen -x

¿Qué herramienta utiliza para la conexión remota que no sea el comando de pantalla? Por favor deje sus comentarios

Lea también:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar