WindowsMacSoftwareConfiguraciónSeguridadAndroidProductividadLinuxRendimientoAppleConfiguración Todo

Cómo configurar un servidor SSH en Ubuntu

Editado 2 Hace unas semanas por ExtremeHow Equipo Editorial

SSHServidorUbuntuLinuxRedesSeguridadConfiguraciónSistemas operativosAcceso remotoSistema

Cómo configurar un servidor SSH en Ubuntu

Traducción actualizada 4 Hace unas semanas

Introducción

Configurar un servidor SSH en Ubuntu es un paso crucial para las tareas de administración remota y transferencia de archivos. SSH, o Secure Shell, es un protocolo de red criptográfico que permite la comunicación segura de datos a través de una red no segura. Se utiliza para iniciar sesión en una máquina remota y ejecutar comandos, así como para transferir archivos entre máquinas en una red. En esta guía, te guiaremos en el proceso de configurar un servidor SSH en un sistema Ubuntu.

Paso 1: Actualizar los paquetes del sistema

Antes de instalar cualquier software, es importante asegurarse de que el gestor de paquetes de tu sistema tenga la información más reciente sobre los paquetes de software disponibles y sus dependencias. Para lograr esto, ejecuta el siguiente comando:

sudo apt update

El comando sudo se utiliza para ejecutar comandos con privilegios elevados, típicamente requeridos para tareas de administración del sistema. El comando apt update actualiza la lista de paquetes disponibles desde el repositorio de paquetes, asegurando que tengas acceso a las versiones más recientes.

Paso 2: Instalar OpenSSH Server

El paquete del servidor SSH de Ubuntu se llama OpenSSH Server. Es uno de los paquetes de servidor SSH más utilizados en el ecosistema Linux debido a su simplicidad, seguridad y robustez. Para instalar OpenSSH Server, ejecuta el siguiente comando en la terminal:

sudo apt install openssh-server

Este comando descargará el paquete del servidor OpenSSH del repositorio de paquetes de Ubuntu y lo instalará en tu sistema. Durante la instalación, el gestor de paquetes también iniciará automáticamente el servicio SSH por ti.

Paso 3: Verificar el estado del servicio SSH

Una vez que el servidor OpenSSH está instalado, querrás verificar si el servicio SSH está funcionando correctamente. Usa el siguiente comando para comprobar el estado del servicio SSH:

sudo systemctl status ssh

El comando systemctl se utiliza para verificar el estado de las unidades del sistema, incluidos los servicios. Al verificar el estado del servicio SSH, deberías ver un mensaje que indique que el servicio está "activo (corriendo)". Si no está corriendo, puedes iniciarlo usando el siguiente comando:

sudo systemctl start ssh

Si deseas que el servicio SSH se inicie automáticamente al arrancar el sistema, utiliza el siguiente comando:

sudo systemctl enable ssh

Paso 4: Configurar el servidor SSH

El archivo de configuración del servidor SSH se encuentra en /etc/ssh/sshd_config. Este archivo controla varios parámetros del servidor SSH, incluidos los números de puerto, algoritmos de intercambio de claves y métodos de autenticación. Es importante configurar este archivo para adaptarlo a tus necesidades de seguridad y acceso.

Cambiar el puerto predeterminado

De forma predeterminada, el servidor SSH escucha en el puerto 22. Sin embargo, cambiar el puerto predeterminado a un puerto no estándar puede ayudar a proporcionar otra capa de seguridad. Para cambiar el puerto, abre el archivo de configuración SSH con un editor de texto, por ejemplo:

sudo nano /etc/ssh/sshd_config

Busca la línea #Port 22, y cámbiala como sigue:

Port 2222

Elimina # del inicio para descomentar la línea. Asegúrate de que el puerto que elijas no sea utilizado por otros servicios.

Desactivar el inicio de sesión como root

Permitir el inicio de sesión como root a través de SSH puede suponer un riesgo de seguridad. Se recomienda desactivarlo buscando la siguiente línea:

PermitRootLogin yes

Y cámbiala como sigue:

PermitRootLogin no

Haciendo esto, aseguras que los usuarios inicien sesión como usuarios que no sean root y cambien a root si es necesario.

Habilitar la autenticación por clave pública

La autenticación por clave pública es más segura que la autenticación por contraseña. Para habilitarla, asegúrate de que las siguientes líneas estén configuradas en el archivo sshd_config:

PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys

Esta configuración permite a los clientes autenticarse utilizando claves SSH almacenadas en el archivo ~/.ssh/authorized_keys de las cuentas de usuario.

Paso 5: Reiniciar el servicio SSH

Después de realizar cambios en el archivo de configuración SSH, debes reiniciar el servicio SSH para que los cambios surtan efecto:

sudo systemctl restart ssh

Ten en cuenta que si cambiaste el puerto, debes especificar el nuevo puerto al conectarte a través de SSH. Por ejemplo, si cambiaste el puerto SSH a 2222, usa ssh user@host -p 2222.

Paso 6: Configuración de reglas de firewall

Si el firewall está habilitado en tu servidor Ubuntu, necesitarás permitir las conexiones entrantes de SSH. Suponiendo que estás usando UFW (Uncomplicated Firewall), puedes habilitar el firewall y permitir el tráfico SSH con el siguiente comando:

sudo ufw allow sshsudo ufw enable

Si cambiaste el puerto SSH predeterminado, reemplázalo con el número de puerto ssh, por ejemplo:

sudo ufw allow 2222

Este comando ajusta las reglas del firewall para permitir el tráfico SSH en el puerto especificado.

Paso 7: Probar el servidor SSH

Para asegurarte de que tu servidor SSH está configurado correctamente, intenta conectarte a él desde otra máquina (ya sea otra computadora o una máquina virtual). Usa el comando:

ssh usuario@ip_del_servidor

Reemplaza usuario con tu nombre de usuario real en el servidor y reemplaza ip_del_servidor con la dirección IP o el nombre de host de tu servidor. Si modificaste el puerto, debes especificarlo usando la opción -p, por ejemplo:

ssh usuario@ip_del_servidor -p 2222

Si la conexión es exitosa, aparecerá un mensaje de inicio de sesión, permitiéndote iniciar sesión en tu servidor a través de SSH.

Paso 8: Mejorar la seguridad de SSH

Es importante mejorar aún más la seguridad de tu configuración SSH para evitar accesos no autorizados. Aquí hay algunos consejos:

Usar Fail2Ban

Fail2Ban es un programa que ayuda a prevenir ataques de fuerza bruta monitorizando intentos fallidos de inicio de sesión. Instálalo usando lo siguiente:

sudo apt install fail2ban

Por defecto, Fail2Ban prohíbe direcciones IP durante 10 minutos después de 3 intentos fallidos de inicio de sesión. Puedes personalizar estas configuraciones editando el archivo de configuración ubicado en /etc/fail2ban/jail.local.

Limitar el acceso de usuarios

Considera permitir el acceso SSH solo a usuarios específicos. Puedes hacerlo agregando la siguiente línea a tu archivo sshd_config:

AllowUsers usuario1 usuario2

Reemplaza usuario1 y usuario2 con los nombres de usuario reales a los que deseas permitir el acceso SSH.

Siguiendo estos pasos, puedes configurar y asegurar eficazmente un servidor SSH en tu sistema Ubuntu. Esta configuración proporciona un entorno robusto y seguro para la gestión remota del sistema y la transferencia segura de archivos. Recuerda mantener siempre tu sistema y servidor SSH actualizados para prevenir vulnerabilidades.

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


Comentarios