WindowsMacSoftwareConfiguraciónSeguridadAndroidProductividadLinuxRendimientoAppleConfiguración Todo

Cómo Configurar SSH en Linux

Editado 3 Hace unas semanas por ExtremeHow Equipo Editorial

Acceso remotoSeguridadSSHAdministración del servidorLínea de comandosConfiguraciónCifradoClientesAcceso a la redAutenticación

Cómo Configurar SSH en Linux

Traducción actualizada 3 Hace unas semanas

Configurar SSH (Secure Shell) en un sistema Linux es una tarea básica para cualquiera que quiera gestionar y comunicarse con sistemas remotos de manera segura. SSH proporciona un canal seguro sobre una red no segura al encriptar los datos, garantizando así que la comunicación entre dispositivos permanezca confidencial y segura. En esta guía, exploraremos cómo puedes configurar SSH en una máquina Linux. Lo desglosaremos en secciones manejables para que cualquiera pueda entenderlo fácilmente.

Entendiendo SSH y sus Beneficios

SSH significa Secure Shell y es, básicamente, un protocolo de red que permite a los usuarios acceder y gestionar de forma segura dispositivos en una red. Uno de sus propósitos principales es proporcionar un canal seguro al encriptar los datos transmitidos entre el cliente y el servidor. También admite otras funciones como la transferencia segura de archivos y el reenvío de puertos.

Aquí están algunas de las principales ventajas de usar SSH:

Prerrequisitos para configurar SSH

Antes de poder configurar SSH, necesitas cumplir con algunos prerrequisitos. Asegurarte de que estos prerrequisitos se cumplan hará que el proceso de configuración sea más fácil.

Paso 1: Instalación de SSH

Muchas distribuciones de Linux vienen con SSH por defecto. Sin embargo, en algunos casos, puede que tengas que instalarlo manualmente. El paquete que necesitas usualmente se llama openssh-server.

Instalación en Ubuntu/Debian

Abre la terminal y ejecuta el siguiente comando:

sudo apt update 
sudo apt install openssh-server

Instalación en CentOS/RHEL

Ejecuta el comando:

sudo yum install openssh-server

Iniciando y habilitando el servicio SSH

Después de la instalación, inicia el servicio SSH usando lo siguiente:

sudo systemctl start ssh

Para asegurarte de que el servicio SSH se inicie al arrancar, habilítalo con el comando:

sudo systemctl enable ssh

Para CentOS o sistemas que usan el nombre sshd, reemplaza ssh con sshd en los comandos anteriores.

Paso 2: Configuración de SSH

Una vez SSH está instalado y funcionando, el siguiente paso es configurarlo para adaptarlo a tus necesidades. El archivo de configuración principal para SSH se encuentra en /etc/ssh/sshd_config.

Editando el Archivo de Configuración de SSH

Abre el archivo de configuración usando el editor de texto de tu elección. Por ejemplo, usando nano, usarías lo siguiente:

sudo nano /etc/ssh/sshd_config

Ajustes de configuración requeridos

Aquí hay algunos ajustes clave que querrás configurar:

Paso 3: Usando autenticación basada en claves SSH

Las claves SSH son una manera más segura y conveniente de iniciar sesión en un servidor. Eliminan la necesidad de recordar e ingresar contraseñas.

Generando claves SSH

Puedes generar un par de claves en tu máquina cliente usando el siguiente comando:

ssh-keygen -t rsa -b 4096

Sigue las indicaciones para guardar tu clave e ingresar una frase de contraseña para mayor seguridad si lo deseas. Tus claves generalmente se almacenarán en ~/.ssh/id_rsa (clave privada) y ~/.ssh/id_rsa.pub (clave pública).

Copiando la clave pública al servidor

Usa ssh-copy-id para copiar tu clave pública al servidor. Este comando agregará tu clave pública al archivo ~/.ssh/authorized_keys en el servidor:

ssh-copy-id user@hostname_or_ip

Probando la autenticación basada en claves

Una vez que la clave esté copiada, prueba la conexión SSH para asegurarte de que utiliza autenticación basada en claves:

ssh user@hostname_or_ip

Si todo está configurado correctamente, no se te pedirá una contraseña.

Paso 4: Mejorando la Seguridad de SSH

Las mejoras de seguridad no solo protegen tus datos, sino que también protegen tu red y sistemas del acceso no autorizado. Aquí hay algunas maneras de fortalecer la seguridad de SSH:

Usando frases de contraseña fuertes para claves SSH

Las frases de contraseña proporcionan una capa de seguridad a tus claves SSH. Elige una frase de contraseña fuerte y única para asegurarte de que incluso si alguien consigue acceso a tu clave privada, no pueda usarla sin la frase de contraseña.

Desactivando SSH para el usuario root

Como se mencionó anteriormente, desactiva la capacidad de iniciar sesión directamente como usuario root configurando PermitRootLogin no. Usa sudo para tareas administrativas en su lugar.

Usando un puerto no estándar

Cambiar el puerto SSH por defecto (22) a un puerto menos común puede reducir el riesgo de ataques automatizados. Solo asegúrate de que el nuevo puerto esté abierto en cualquier firewall que proteja el servidor.

Implementando solo autenticación con claves SSH

Desactivar el inicio de sesión basado en contraseñas y usar exclusivamente claves SSH reduce significativamente el riesgo de ataques de fuerza bruta. Después de configurar la autenticación basada en claves, actualiza sshd_config con PasswordAuthentication no.

Paso 5: Pruebas y Solución de Problemas

Después de configurar SSH, es importante probar tu configuración para asegurarte de que todo funcione como se espera.

Probando la conexión SSH

Prueba tu configuración de SSH en diferentes escenarios, como iniciar sesión con diferentes cuentas de usuario, usando inicios de sesión basados en claves, y asegurándote de que los usuarios restringidos no puedan acceder.

Solución de Problemas Comunes

Si encuentras algún problema, lo primero que debes hacer es revisar los registros del servidor SSH, que generalmente se encuentran en /var/log/auth.log o /var/log/secure. Estos registros proporcionarán pistas sobre cualquier problema de autenticación o configuración.

Conclusión

En conclusión, configurar SSH en tu sistema Linux proporciona una manera segura de acceder y gestionar remotamente tu dispositivo. Siguiendo los pasos descritos en esta guía, puedes instalar, configurar y mejorar la seguridad de SSH en tu servidor. Recuerda, la seguridad es un proceso continuo, por lo que revisa y actualiza tus configuraciones de SSH regularmente para proteger tu sistema.

Si encuentras algo incorrecto en el contenido del artículo, puedes


Comentarios