Configuración y Uso de SSH en Linux

97

Configuración y Uso de SSH en Linux

El Secure Shell (SSH) es una herramienta esencial para cualquier administrador de sistemas o desarrollador que trabaje con servidores remotos. SSH proporciona una forma segura de acceder a una máquina remota, transferir archivos y ejecutar comandos de manera remota. En este post, aprenderás cómo configurar y utilizar SSH en un sistema Linux.

1. Instalación de SSH

La mayoría de las distribuciones de Linux ya tienen SSH preinstalado. Puedes verificar si SSH está instalado ejecutando:

ssh -V

Si SSH no está instalado, puedes instalarlo utilizando el gestor de paquetes de tu distribución. Por ejemplo, en Debian/Ubuntu:

sudo apt update
sudo apt install openssh-server

En Fedora/CentOS:

sudo dnf install openssh-server

2. Configuración del Servidor SSH

Una vez instalado, es importante configurar el servidor SSH para mejorar la seguridad. El archivo de configuración principal de SSH se encuentra en /etc/ssh/sshd_config. Algunas configuraciones recomendadas son:

  • Cambiar el puerto predeterminado (22) para reducir el riesgo de ataques automatizados:
    Port 2222
  • Deshabilitar el acceso de root:
    PermitRootLogin no
  • Permitir el acceso solo a usuarios específicos:
    AllowUsers tu_usuario

Después de realizar los cambios, reinicia el servicio SSH para aplicar las configuraciones:

sudo systemctl restart sshd

3. Generación y Uso de Claves SSH

Para aumentar la seguridad, es recomendable utilizar claves SSH en lugar de contraseñas. Puedes generar un par de claves SSH utilizando el siguiente comando:

ssh-keygen -t rsa -b 4096 -C "tu_email@example.com"

Esto generará dos archivos: ~/.ssh/id_rsa (clave privada) y ~/.ssh/id_rsa.pub (clave pública).

Copia tu clave pública al servidor remoto utilizando:

ssh-copy-id usuario@servidor_remoto

4. Conexión al Servidor Remoto

Ahora puedes conectarte al servidor remoto utilizando tu clave SSH:

ssh -p 2222 usuario@servidor_remoto

5. Transferencia de Archivos con SCP

Puedes utilizar el comando scp para transferir archivos entre tu máquina local y el servidor remoto:

scp archivo_local usuario@servidor_remoto:/ruta/destino

Para transferir directorios, utiliza la opción -r:

scp -r directorio_local usuario@servidor_remoto:/ruta/destino

Conclusión

SSH es una herramienta poderosa y versátil para la administración remota de servidores. Configurar correctamente el servidor SSH y utilizar claves SSH en lugar de contraseñas son prácticas recomendadas para mejorar la seguridad. Con SSH, puedes conectarte de manera segura a servidores remotos, transferir archivos y ejecutar comandos, lo que facilita enormemente la gestión de tus sistemas Linux.