Comandos SSH que debes conocer para una gestión remota eficiente
Secure Shell (SSH) es una herramienta esencial para acceder y administrar servidores remotos de forma segura. Ya seas administrador de sistemas, desarrollador o entusiasta de la tecnología, dominar los comandos SSH puede mejorar significativamente tu flujo de trabajo. Este artículo cubre los comandos SSH que todos los usuarios deben conocer.
¿Qué es SSH?
SSH, o Secure Shell, es un protocolo que permite a los usuarios conectarse de forma segura a un ordenador remoto a través de una red no segura. Proporciona comunicación cifrada y diversos métodos de autenticación, lo que lo convierte en una herramienta fundamental para la gestión remota.
Comandos SSH esenciales
1. Conectarse a un servidor remoto
La sintaxis básica para conectarse a un servidor remoto es:
ssh nombre de usuario@nombre de host
Reemplace username
con su cuenta de usuario remota y hostname
con la dirección del servidor (IP o dominio).
2. Especificación de un puerto
Si su servidor SSH escucha en un puerto distinto del 22 predeterminado, puede especificarlo utilizando la opción -p
:
ssh -p número_de_puerto nombre_usuario@nombre_de_host
3. Copiar archivos con SCP
El protocolo de copia segura (SCP) se utiliza para transferir archivos entre hosts locales y remotos de forma segura. La sintaxis básica para copiar un archivo desde una máquina local a un servidor remoto es la siguiente:
scp archivo_local nombre_usuario@nombre_host:/directorio/remoto/
Para copiar un archivo desde un servidor remoto a su máquina local:
scp nombre_usuario@nombre_host:/remoto/archivo directorio_local/
4. Ejecución de comandos remotos
Puede ejecutar comandos en un servidor remoto sin iniciar sesión de forma interactiva:
ssh nombre de usuario@nombre de host 'command'
Por ejemplo, para comprobar el uso del disco en un servidor remoto:
ssh nombre de usuario@nombre de host 'df -h'
5. Uso de claves SSH para autenticación
Las claves SSH proporcionan una forma más segura de iniciar sesión en un servidor remoto que el uso de contraseñas. Genere un par de claves con:
generador de claves ssh
Luego, copie su clave pública al servidor remoto:
ssh-copy-id nombre de usuario@nombre de host
6. Tunelización con SSH
La tunelización SSH le permite crear una conexión segura entre su equipo local y un servidor remoto, que puede utilizarse para acceder a servicios en la red remota. Por ejemplo, para redireccionar un puerto local a un puerto remoto:
ssh -L puerto_local:host_remoto:puerto_remoto nombre_usuario@nombre_host
Este comando reenvía local_port
en su máquina a remote_port
en remote_host
a través de la conexión SSH.
7. Archivo de configuración SSH
El archivo de configuración SSH le permite guardar las opciones de conexión SSH que utiliza con frecuencia. Normalmente se encuentra en ~/.ssh/config
. Una entrada de configuración de ejemplo podría verse así:
Host alias
HostName hostname
User username
Port port_number
IdentityFile ~/.ssh/id_rsa
Después de la configuración, puedes conectarte usando el alias:
alias ssh
8. Sesiones SSH en segundo plano
Puede ejecutar sesiones SSH en segundo plano utilizando la opción -f
, que es útil para ejecutar procesos en segundo plano:
ssh -f nombre de usuario@nombre de host 'command'
Para ejecutar un comando en segundo plano:
ssh -f nombre de usuario@nombre de host 'command &'
9. Comprobación de la versión de SSH
Para comprobar la versión de SSH instalada en su sistema:
ssh-V
10. Cerrar una sesión SSH
Para cerrar sesión en una sesión SSH, simplemente escriba:
salida
Conclusión
Conocer estos comandos SSH esenciales puede mejorar enormemente su capacidad para administrar servidores remotos de manera eficiente y segura. Ya sea que esté transfiriendo archivos, ejecutando comandos o configurando túneles seguros, SSH es una herramienta poderosa que todo profesional de la tecnología debería dominar.