Proporciona una forma segura de acceder a servidores remotos, permitiendo ejecutar comandos, transferir archivos y administrar sistemas de manera eficiente.


El comando ssh (Secure Shell) es una herramienta esencial en el mundo de la administración de sistemas. Proporciona una forma segura de acceder a servidores remotos, permitiendo ejecutar comandos, transferir archivos y administrar sistemas de manera eficiente. Es una de las herramientas básicas que cualquier sysadmin debe dominar.

¿Para qué se utiliza el comando?

El comando ssh se utiliza para establecer conexiones remotas seguras entre sistemas, utilizando el protocolo SSH. Esto permite:

  • Acceder de forma remota a otros equipos para administrarlos o ejecutar comandos.
  • Transferir archivos de manera segura mediante herramientas como scp o sftp.
  • Encapsular otros protocolos dentro de un túnel SSH para proteger las comunicaciones.

El protocolo SSH cifra todas las comunicaciones entre el cliente y el servidor, garantizando la confidencialidad e integridad de los datos transmitidos.

Sintaxis básica del comando

La sintaxis general del comando es:

ssh [OPCIONES] usuario@host

Donde:

  • usuario: Es el nombre del usuario en el sistema remoto.
  • host: Es la dirección IP o nombre del dominio del sistema remoto.
  • [OPCIONES]: Permite especificar configuraciones adicionales, como el puerto, el uso de claves privadas, entre otras.

Opciones comunes incluyen:

  • -p [puerto]: Especifica un puerto diferente al predeterminado (22).
  • -i [archivo_clave]: Usa un archivo de clave privada para autenticar la conexión.
  • -L [local]:[remoto]: Crea un túnel SSH para redirigir puertos.

Ejemplos prácticos del comando

A continuación os explicamos algunos ejemplos prácticos para usar el comando.

Conexión básica a un servidor remoto

Para conectarte a un servidor remoto usando el usuario t3rr0rz0n3:

$ ssh t3rr0rz0n3@192.168.1.100

Especificar un puerto diferente

Si el servidor remoto utiliza un puerto SSH diferente, por ejemplo, el 2222:

$ ssh -p 2222 t3rr0rz0n3@192.168.1.100

Usar una clave privada para la autenticación

Si necesitas autenticarte usando una clave privada:

$ ssh -i ~/.ssh/id_rsa t3rr0rz0n3@192.168.1.100

Crear un túnel SSH

Puedes redirigir el puerto 8080 del sistema remoto al puerto local 8080:

$ ssh -L 8080:localhost:8080 t3rr0rz0n3@192.168.1.100

Ejecutar un comando remoto

Si solo necesitas ejecutar un comando específico en el servidor remoto, puedes hacerlo directamente:

$ ssh t3rr0rz0n3@192.168.1.100 "ls -l /var/www"

Reutilizar una conexión existente

Para ahorrar tiempo y evitar abrir nuevas conexiones, usa la opción de multiplexación:

$ ssh -o ControlMaster=auto -o ControlPath=~/.ssh/control-%r@%h:%p t3rr0rz0n3@192.168.1.100

Evitar verificación de huella digital (no recomendado en producción)

Para conexiones temporales en las que no quieras almacenar la huella digital del servidor:

$ ssh -o StrictHostKeyChecking=no t3rr0rz0n3@192.168.1.100

Conclusión

El comando ssh es una herramienta imprescindible para cualquier administrador de sistemas. Su versatilidad permite realizar desde tareas simples de acceso remoto hasta configuraciones avanzadas de túneles y autenticación. Dedica tiempo a explorar sus opciones y utilidades para maximizar su potencial y garantizar una administración segura y eficiente de tus sistemas.


¿Buscas otro comando?

¡Revisa nuestro "Diccionario de comandos para GNU/Linux"!

Diccionario de comandos para GNU/Linux
Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación