Editado 3 Hace unas semanas por ExtremeHow Equipo Editorial
Acceso remotoSeguridadSSHAdministración del servidorLínea de comandosConfiguraciónCifradoClientesAcceso a la redAutenticación
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.
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:
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.
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.
Abre la terminal y ejecuta el siguiente comando:
sudo apt update
sudo apt install openssh-server
Ejecuta el comando:
sudo yum install openssh-server
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.
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
.
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
Aquí hay algunos ajustes clave que querrás configurar:
# Port 22
Port 2222
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
AllowUsers user1 user2
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.
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).
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
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.
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:
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.
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.
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.
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
.
Después de configurar SSH, es importante probar tu configuración para asegurarte de que todo funcione como se espera.
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.
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.
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