Inicio > Gestión de red > ssh-server

Servidor SSH (sshd): Gestión de acceso remoto

El servidor SSH es un software que proporciona acceso seguro a sistemas remotos utilizando el protocolo Secure Shell (SSH). Generalmente se ejecuta como un servicio llamado `sshd` (SSH Daemon) y permite la ejecución remota de comandos, la transferencia de archivos (SCP/SFTP) y el reenvío de puertos a través de un canal de comunicación cifrado. Es esencial para diversas tareas remotas como la administración de sistemas, el desarrollo y la transferencia de datos.

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.


Comandos de la misma categoría