Descripción general
El servidor SSH recibe y autentica las solicitudes de conexión SSH del cliente, estableciendo una sesión de comunicación segura. Esto permite ejecutar comandos o transferir archivos de forma segura de forma remota. El componente central del servidor es el demonio `sshd`, que generalmente se configura para iniciarse automáticamente al arrancar el sistema.
Funciones principales
Las funciones clave que ofrece el servidor SSH.
- Acceso a shell remoto: Conexión a un servidor remoto a través de un terminal cifrado para ejecutar comandos
- Transferencia segura de archivos: Carga/descarga de archivos utilizando SCP (Secure Copy) y SFTP (SSH File Transfer Protocol)
- Reenvío de puertos: Túnel de puertos locales/remotos para proporcionar acceso seguro a servicios no seguros
- Autenticación basada en claves: Autenticación de seguridad más sólida utilizando claves SSH en lugar de contraseñas
Opciones principales (comando sshd)
Opciones principales utilizadas al ejecutar el demonio `sshd` directamente. Dado que generalmente se ejecuta a través de un administrador de servicios como `systemd`, estas opciones son útiles principalmente para depuración o pruebas de configuración específicas.
Ejecución y depuración
Comando generado:
Combina los comandos.
Descripción:
`ssh-server` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Instalación
En la mayoría de las distribuciones de Linux, el servidor SSH se proporciona a través del paquete `openssh-server`. Si no está instalado por defecto, puede instalarlo utilizando los siguientes comandos.
Sistemas basados en Debian/Ubuntu
sudo apt update
sudo apt install openssh-server
Instala `openssh-server` utilizando el administrador de paquetes APT.
Sistemas basados en CentOS/RHEL
sudo yum install openssh-server
# O Fedora/RHEL reciente:
sudo dnf install openssh-server
Instala `openssh-server` utilizando el administrador de paquetes YUM o DNF.
Ejemplos de uso
Métodos comunes para administrar y configurar el servidor SSH.
Iniciar el servicio SSH
sudo systemctl start ssh
Inicia el servicio del demonio SSH (`sshd`).
Reiniciar el servicio SSH
sudo systemctl restart ssh
Reinicia el servicio del demonio SSH. Se usa comúnmente después de aplicar cambios en el archivo de configuración.
Verificar el estado del servicio SSH
sudo systemctl status ssh
Verifica el estado actual del servicio del demonio SSH.
Habilitar el inicio automático del servicio SSH
sudo systemctl enable ssh
Configura el servicio SSH para que se inicie automáticamente al arrancar el sistema.
Abrir el puerto SSH en el firewall (UFW)
sudo ufw allow ssh
# O si usa un puerto específico:
sudo ufw allow 2222/tcp
Si usa UFW (Uncomplicated Firewall), permite el puerto SSH predeterminado (22).
Editar el archivo de configuración SSH
sudo nano /etc/ssh/sshd_config
Edita el archivo de configuración principal del servidor SSH, `sshd_config`. Después de realizar cambios, asegúrese de reiniciar el servicio SSH.
Consejos y precauciones
Consejos y precauciones importantes para operar el servidor SSH de forma segura y eficiente.
Consejos para mejorar la seguridad
Recomendaciones para mejorar la seguridad del servidor SSH.
- **Cambiar el puerto predeterminado**: Cambie el puerto SSH predeterminado (22) a otro puerto menos conocido (por ejemplo, 2222) para reducir los intentos de ataque aleatorios. (Modifique la directiva `Port` en el archivo `/etc/ssh/sshd_config`)
- **Usar autenticación basada en claves en lugar de contraseñas**: Genere un par de claves SSH para proporcionar una seguridad mucho mayor que la autenticación por contraseña. (Configuración `PasswordAuthentication no`)
- **Deshabilitar el inicio de sesión de root**: Prohíba el inicio de sesión directo como usuario `root` y utilice el inicio de sesión con una cuenta de usuario normal seguido de `sudo`. (Configuración `PermitRootLogin no`)
- **Usar Fail2Ban**: Instale herramientas como `Fail2Ban`, que bloquean automáticamente las direcciones IP que fallan repetidamente en el inicio de sesión, para defenderse contra ataques de fuerza bruta.
- **Restringir usuarios/grupos permitidos**: Especifique explícitamente los usuarios o grupos a los que se les permite el acceso SSH utilizando las directivas `AllowUsers` o `AllowGroups`.
file Ruta del archivo de configuración SSH
/etc/ssh/sshd_config
El archivo de configuración principal del servidor SSH se encuentra en la siguiente ruta.