Introducción
En este laboratorio, aprenderás cómo utilizar el comando ssh de Linux para conectarte y administrar de forma remota otros sistemas Linux. SSH (Secure Shell, Shell Seguro) es una herramienta poderosa para administradores de sistemas e ingenieros de redes, que te permite realizar una amplia gama de tareas de forma remota y segura.
Logros
Al final de este laboratorio, podrás:
- Utilizar el comando
sshpara conectarte de forma segura a un sistema remoto - Ejecutar comandos en un sistema remoto utilizando SSH
- Comprender los conceptos básicos de la administración de sistemas remotos
Recuperar la contraseña del usuario labex
Antes de poder utilizar SSH, necesitamos conocer la contraseña del usuario labex. En este entorno de laboratorio, la contraseña se almacena como una variable de entorno.
- Abre una ventana de terminal en el entorno de escritorio, solo la terminal del entorno de escritorio tendrá las variables de entorno configuradas.

Para recuperar la contraseña, ejecuta el siguiente comando.
printenv | grep PASSWORDNota: Debes ejecutar este comando en la terminal del entorno de escritorio, no en la terminal que abriste desde la barra de menú superior.
Este comando mostrará todas las variables de entorno que contengan "PASSWORD". Busca una línea que diga
LABEX_PASSWORD=.... Los caracteres después del signo igual son tu contraseña.Anota esta contraseña, ya que la necesitarás para los pasos siguientes.
Importante: No intentes cambiar la contraseña del usuario labex. El entorno de laboratorio está configurado con esta contraseña específica, y cambiarla puede hacer que los pasos de verificación del laboratorio fallen. Siempre utiliza la contraseña proporcionada por la variable de entorno LABEX_PASSWORD durante todo este laboratorio.
Conectar al sistema local utilizando SSH
Ahora que tenemos la contraseña, practiquemos el uso de SSH para conectarnos al sistema local. Esto simula la conexión a un sistema remoto.

En la terminal, utiliza el siguiente comando para conectarte al sistema local utilizando SSH:
ssh labex@127.0.0.1Aquí,
127.0.0.1es la dirección IP de bucle invertido (loopback) que se refiere a la máquina local. A menudo se le llama "localhost".Puedes ver un mensaje sobre la autenticidad del host. Este mensaje aparece porque es la primera vez que te conectas a este sistema "remoto". En un escenario del mundo real, debes verificar la huella digital antes de continuar. Para este laboratorio, escribe
yesy presiona Enter para continuar.Cuando se te solicite la contraseña, escribe la contraseña que recuperaste en el Paso 1. No verás la contraseña mientras la escribes.
Si tiene éxito, verás un nuevo indicador (prompt). Esto indica que ahora estás conectado a través de SSH, aunque todavía estés en la misma máquina.
Para salir de la sesión SSH, escribe
exity presiona Enter. Esto te devolverá a tu sesión de terminal original.
Ejecutar un comando simple utilizando SSH
Practiquemos la ejecución de un comando en el sistema "remoto" utilizando SSH. Esto es útil cuando necesitas ejecutar un comando rápido sin iniciar una sesión SSH completa.
Utiliza el siguiente comando para listar el contenido del directorio home en el sistema local a través de SSH:
ssh labex@127.0.0.1 'ls -l ~'Este comando se desglosa de la siguiente manera:
ssh: El comando para iniciar una conexión SSHlabex@127.0.0.1: El usuario y la dirección IP a la que nos estamos conectando'ls -l ~': El comando que queremos ejecutar en el sistema remoto, encerrado entre comillas
Ingresa la contraseña del usuario
labexcuando se te solicite.Deberías ver la salida del comando
ls -l ~, que muestra el contenido del directorio home. Esta salida proviene del sistema "remoto", aunque en realidad sea la misma máquina.Observa cómo esta vez no se inició una sesión SSH completa. El comando se ejecutó y se te devolvió inmediatamente a tu terminal original.
Utilizar SSH con asignación de pseudo-terminal
Algunos comandos requieren un pseudo-terminal para su correcta ejecución, especialmente los comandos interactivos o aquellos que producen una salida formateada. Practiquemos el uso de la opción -t con SSH para forzar la asignación de un pseudo-terminal.
Ejecuta el siguiente comando para ver el tiempo de actividad del sistema:
ssh -t labex@127.0.0.1 'uptime'La opción
-tfuerza a SSH a asignar un pseudo-terminal. Esto puede ser necesario para comandos que esperan ser ejecutados en un entorno interactivo.Ingresa la contraseña del usuario
labexcuando se te solicite.Deberías ver una salida que muestra cuánto tiempo ha estado en funcionamiento el sistema, junto con información sobre la carga promedio.
Ahora, probemos un comando interactivo. Ejecuta lo siguiente:
ssh -t labex@127.0.0.1 'top -n 1'Esto ejecutará el comando
top, que normalmente proporciona una vista interactiva de los procesos del sistema, pero aquí estamos usando la opción-n 1para salir después de una iteración.Nuevamente, ingresa la contraseña del usuario
labexcuando se te solicite.Deberías ver una salida formateada que muestra los principales procesos en ejecución en el sistema.
Crear y acceder a un archivo remoto
Practiquemos la creación de un archivo en el sistema "remoto" y el acceso a él. Esto demuestra cómo se pueden manipular archivos en un sistema remoto utilizando SSH.
Utiliza SSH para crear un archivo llamado
remote_test.txten el directorio home del sistema remoto:ssh labex@127.0.0.1 'echo "This is a test file created remotely" > ~/remote_test.txt'Este comando utiliza SSH para ejecutar un comando
echoen el sistema remoto, que luego escribe texto en un nuevo archivo.Ahora, veamos el contenido del archivo que acabamos de crear:
ssh labex@127.0.0.1 'cat ~/remote_test.txt'El comando
catse utiliza para mostrar el contenido del archivo.Deberías ver el mensaje "This is a test file created remotely" mostrado en tu terminal.
Confirmemos la presencia del archivo listándolo:
ssh labex@127.0.0.1 'ls -l ~/remote_test.txt'Esto mostrará los detalles del archivo, incluyendo permisos, tamaño y fecha de creación.
Resumen
En este laboratorio, has aprendido cómo utilizar el comando ssh para conectarte y administrar sistemas Linux de forma remota. Has practicado la recuperación de una contraseña de usuario desde variables de entorno, la conexión a un sistema local a través de SSH (simulando una conexión remota), la ejecución de comandos de forma remota, el uso de SSH con asignación de pseudo-terminal y la creación y acceso a archivos en un sistema "remoto".
Estas habilidades son fundamentales para los administradores de sistemas y cualquier persona que necesite administrar sistemas Linux de forma remota. Recuerda que, aunque utilizamos el sistema local para practicar, estos mismos comandos y técnicas se pueden utilizar para conectarse y administrar sistemas realmente remotos a través de una red o Internet.
Siempre da prioridad a la seguridad cuando trabajes con sistemas remotos. Utiliza contraseñas fuertes, mantén tus sistemas actualizados y considera medidas de seguridad adicionales como la autenticación basada en claves para entornos de producción.
A medida que continúes tu camino en la administración de sistemas, encontrarás que SSH es una herramienta indispensable para la gestión remota y la resolución de problemas.



