🔐 Servicio SSH en Linux.

El servicio SSH (Secure Shell) es una de las herramientas fundamentales para la administración remota de servidores Linux. Proporciona una conexión cifrada y segura entre un cliente y un servidor, lo que permite ejecutar comandos, transferir archivos y gestionar sistemas de forma remota.

En este artículo abordaremos desde la instalación y configuración del servicio SSH en Linux hasta los comandos más utilizados y las mejores prácticas de seguridad para su uso profesional.

📘 ¿Qué es SSH?

SSH es un protocolo de red que permite el intercambio de datos de manera segura entre dos computadoras. Utiliza técnicas de cifrado para garantizar que la información transmitida no pueda ser interceptada ni modificada por terceros. Es ampliamente utilizado para acceder y administrar servidores de forma remota, reemplazando métodos inseguros como Telnet o FTP.

🛠️ Instalación de SSH en Linux

En distribuciones basadas en Debian (Ubuntu, Linux Mint)

  1. Actualizar los repositorios:

    sudo apt update

  2. Instalar el servidor SSH:

    sudo apt install openssh-server

  3. Verificar el estado del servicio:

    sudo systemctl status ssh

  4. Habilitar y arrancar el servicio SSH:

    sudo systemctl enable ssh
    sudo systemctl start ssh

  5. Permitir el tráfico SSH en el firewall:

    sudo ufw allow ssh

    En distribuciones basadas en Red Hat (CentOS, Fedora)

  6. Instalar el servidor SSH:

    sudo dnf install openssh-server

  7. Habilitar y arrancar el servicio SSH:

    sudo systemctl enable sshd
    sudo systemctl start sshd

  8. Permitir el tráfico SSH en el firewall:

    sudo firewall-cmd –permanent –add-service=ssh
    sudo firewall-cmd –reload

⚙️ Configuración básica de SSH

El archivo principal de configuración de SSH es /etc/ssh/sshd_config. Algunas configuraciones recomendadas para mejorar la seguridad incluyen:

  • Cambiar el puerto por defecto (22):

    Port 2222

  • Deshabilitar el acceso como root:

    PermitRootLogin no

  • Limitar los usuarios que pueden conectarse:

    AllowUsers usuario1 usuario2

  • Deshabilitar la autenticación por contraseña y usar claves públicas:

    PasswordAuthentication no

    Después de realizar cambios, reinicia el servicio SSH:

    sudo systemctl restart ssh

🔑 Autenticación mediante claves SSH

 La autenticación por claves SSH es más segura que el uso de contraseñas.
  1. Generar un par de claves en el cliente:

    ssh-keygen -t rsa -b 4096

  2. Copiar la clave pública al servidor:

    ssh-copy-id usuario@servidor

  3. Verificar la conexión:

    ssh usuario@servidor

Una vez configurado, puedes deshabilitar la autenticación por contraseña en el servidor para aumentar la seguridad.

💻 Comandos esenciales de SSH

- Conectar a un servidor:

*ssh usuario@servidor*

- Transferir archivos con SCP:

*scp archivo.txt usuario@servidor:/ruta/destino*

- Establecer un túnel SSH:

*ssh -L 8080:localhost:80 usuario@servidor*

- Usar SFTP para transferencias seguras:

*sftp usuario@servidor*

✅ Buenas prácticas de seguridad en SSH

- Deshabilitar el acceso como root y usar usuarios con privilegios limitados.
- Cambiar el puerto por defecto para reducir intentos de acceso no autorizados.
- Implementar autenticación mediante claves SSH y deshabilitar contraseñas.
- Configurar un firewall para permitir solo las conexiones necesarias.
- Mantener el servidor y el software SSH actualizados.
- Utilizar herramientas como Fail2Ban para prevenir ataques de fuerza bruta.

Conclusión

SSH es una herramienta crítica para la administración de sistemas Linux y su configuración adecuada es esencial para la seguridad de cualquier infraestructura. Usar claves en lugar de contraseñas, limitar accesos y mantener configuraciones seguras son pasos imprescindibles en cualquier entorno profesional.

La correcta implementación de buenas prácticas con SSH no solo protege tus servidores, sino que también garantiza que las operaciones remotas se realicen con confianza y control.

By wrueda

Deja una respuesta