10 comandos SSH útiles comunes

Popular:
¡MEJORA LA CONFIGURACIÓN DE TU SERVIDOR! APLICAR AVA Y LANZA CON UN 15% DE DESCUENTO
USA EL CÓDIGO PROMOCIONAL:

Secure Shell (SSH) es una herramienta esencial para administradores de sistemas, desarrolladores y cualquiera que gestione servidores remotos. Con SSH remote access, puedes conectarte de forma segura a una máquina remota, ejecutar comandos, transferir archivos y realizar tareas administrativas. En este artículo, exploraremos 10 comandos SSH comunes que deberías estar usando hoy.

1. Conectarse a un servidor remoto

El comando SSH más básico se usa para conectarse a un servidor remoto:

ssh user@remote_host

Reemplaza

user

con tu nombre de usuario y

remote_host

con la dirección IP o el nombre de dominio del servidor.

2. Conectarse con un puerto específico

De forma predeterminada, SSH usa el puerto 22, pero puedes especificar un puerto diferente si es necesario:

ssh -p 2222 user@remote_host

Esto es útil si el servidor SSH está configurado para ejecutarse en un puerto no estándar.

3. Uso de SSH Keys para autenticación

En lugar de usar una contraseña, puedes autenticarte con una SSH key:

ssh -i /path/to/private_key user@remote_host

Generar una SSH key se puede hacer con:

ssh-keygen -t rsa -b 4096

Esto mejora la seguridad y elimina la necesidad de ingresar una contraseña cada vez.

4. Ejecutar comandos en un servidor remoto

Puedes ejecutar un solo comando en un servidor remoto sin abrir una sesión interactiva:

ssh user@remote_host "ls -l /var/www/html"

Esto es útil para tareas administrativas rápidas.

5. Copiar archivos con SCP

Secure Copy Protocol (SCP) te permite transferir archivos entre máquinas locales y remotas:

scp file.txt user@remote_host:/remote/directory/

Para copiar un directorio de forma recursiva:

scp -r /local/directory user@remote_host:/remote/directory/

6. Copiar archivos con rsync

Una alternativa a SCP es

rsync

, que es más eficiente para sincronizar archivos:

rsync -avz /local/directory user@remote_host:/remote/directory

Minimiza la transferencia de datos enviando solo las diferencias entre archivos.

7. Configurar SSH Tunneling

SSH tunneling te permite reenviar tráfico de red de forma segura. Para crear un túnel local:

ssh -L 8080:localhost:80 user@remote_host

Esto reenvía el tráfico desde tu puerto local 8080 al puerto 80 del servidor remoto.

8. Reverse SSH Tunneling

Reverse tunneling permite que un servidor remoto acceda a tu máquina local:

ssh -R 9090:localhost:22 user@remote_host

Esto es útil para acceder a un sistema detrás de un firewall.

9. Multiplexing SSH Connections

Si te conectas con frecuencia al mismo servidor, puedes acelerar SSH habilitando multiplexing:

ssh -o ControlMaster=yes -o ControlPath=~/.ssh/socket user@remote_host

Esto reduce la sobrecarga de autenticación para múltiples sesiones SSH.

10. Terminar una sesión SSH

Para cerrar una sesión SSH, simplemente escribe:

exit

O usa la secuencia de escape:

~.

Esto es útil cuando la conexión deja de responder.