Cómo configurar y asegurar el servidor SSH (sshd) con ejemplos

watch 4m, 13s
views 2

09:38, 25.05.2026

Contenido del artículo
arrow

  • Cómo interactúan los archivos de configuración
  • Configuración típica para uso personal de SSH
  • Configuración general de SSH para organizaciones
  • Configuración de la política de cifrado
  • Habilitar el registro detallado
  • Configuración de la ruta para AuthorizedKeysFile
  • Control de acceso de root
  • Visualización del banner de inicio de sesión
  • Gestión de la configuración del reenvío de puertos
  • Uso de la autenticación basada en certificados
  • Explicación de la sintaxis y la estructura de sshd_config

Secure Shell (SSH) es la base de la gestión remota de servidores. Su componente de servidor, sshd, ofrece potentes opciones de configuración tanto para usuarios comunes como para administradores corporativos. En esta guía se describe cómo configurar y proteger sshd, y se incluyen ejemplos prácticos que le ayudarán a comprender y aplicar las mejores prácticas.

Cómo interactúan los archivos de configuración

El archivo de configuración principal del demonio SSH es /etc/ssh/sshd_config. Este archivo determina cómo se comporta el servidor al aceptar conexiones SSH.

Por el contrario, la configuración del cliente se almacena en el archivo /etc/ssh/ssh_config o en el archivo de usuario ~/.ssh/config. Sin embargo, es en sshd_config donde los administradores controlan los métodos de autenticación, las reglas de acceso y el comportamiento de las sesiones.

Cuando el demonio SSH se inicia o se reinicia, lee sshd_config de arriba abajo. Si una directiva se repite, normalmente prevalece la última entrada válida. Después de realizar los cambios, ejecute:

sudo systemctl restart sshd

O, en algunos sistemas:

sudo service ssh restart

Para comprobar la configuración antes de reiniciar:

sshd -t

Configuración típica para uso personal de SSH

Si gestionas un VPS personal o un laboratorio doméstico, puedes mejorar la seguridad y la comodidad con unos sencillos ajustes:

Puerto 2222 
PermitRootLogin no 
PasswordAuthentication no 
AllowUsers alice

Estos ajustes cambian el puerto SSH predeterminado, desactivan el inicio de sesión del usuario root, exigen la autenticación mediante claves y restringen el acceso a usuarios específicos. Haga siempre una copia de seguridad del archivo original antes de realizar cambios.

Configuración general de SSH para organizaciones

En entornos corporativos, la configuración de SSH debe garantizar un equilibrio entre la facilidad de uso, el cumplimiento normativo y la seguridad. A continuación se enumeran las configuraciones principales que las organizaciones suelen modificar en sshd_config.

Configuración de la política de cifrado

Establezca algoritmos de cifrado modernos y seguros para proteger los datos durante la transmisión. Utilice las directivas Ciphers, MACs y KexAlgorithms :

Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com 
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com 
KexAlgorithms curve25519-sha256,ecdh-sha2-nistp521

Estas configuraciones eliminan los algoritmos obsoletos y garantizan el cumplimiento de las mejores prácticas en el campo de la criptografía.

Habilitar el registro detallado

Para fines de auditoría y depuración, aumente el nivel de detalle del registro:

LogLevel VERBOSE

Esto proporciona información más detallada sobre la actividad de los usuarios y los intentos de autenticación, lo cual es útil para la supervisión de la seguridad.

Configuración de la ruta para AuthorizedKeysFile

Para centralizar o personalizar la ubicación desde la que se leen las claves públicas:

AuthorizedKeysFile /etc/ssh/authorized_keys/%u

En este ejemplo, la clave pública de cada usuario se almacena en un directorio compartido, sustituyendo %u por el nombre de usuario.

Control de acceso de root

El inicio de sesión de root debe controlarse estrictamente o desactivarse por completo:

PermitRootLogin prohibit-password

Esto permite el inicio de sesión de root solo mediante autenticación basada en claves. Para desactivar por completo el acceso de root:

PermitRootLogin no

Visualización del banner de inicio de sesión

Para cumplir con los estándares de conformidad o mostrar un aviso legal, configura el banner de inicio de sesión:

Banner /etc/issue.net

Rellene /etc/issue.net con el mensaje deseado, por ejemplo:

Queda prohibido el acceso no autorizado a este sistema. 
Toda la actividad es supervisada y registrada.

Gestión de la configuración del reenvío de puertos

Restringe o habilita el reenvío de puertos según la política interna:

AllowTcpForwarding no 
PermitTunnel no 
X11Forwarding no

Para los usuarios que necesiten un túnel seguro, estos parámetros se pueden habilitar de forma selectiva.

Uso de la autenticación basada en certificados

Para entornos que gestionan un gran número de usuarios, los certificados SSH proporcionan un control de acceso escalable. Cree una clave CA y firme las claves públicas de los usuarios:

ssh-keygen -s ca_key -I user_id user_key.pub
En el archivo sshd_config, especifique la CA de confianza:
TrustedUserCAKeys /etc/ssh/ca.pub

Esto permite autenticar cualquier clave firmada por la CA especificada, lo que simplifica la gestión de usuarios.

Explicación de la sintaxis y la estructura de sshd_config

La sintaxis de sshd_config es sencilla: una directiva por línea, seguida de sus valores. Los comentarios comienzan con #. 

# Esto es un comentario 
Puerto 22 
PermitRootLogin no

Las directivas no distinguen entre mayúsculas y minúsculas, pero para facilitar la lectura se debe seguir el formato convencional. Errores comunes:

  • Espacios al final de la línea
  • Valores incorrectos de los parámetros
  • Repetición de directivas contradictorias

Para aplicar los cambios:

sudo systemctl reload sshd

O utilice sshd -t antes de reiniciar, para asegurarse de que la sintaxis es correcta.

Compartir

¿Te ha resultado útil este artículo?

Ofertas populares de VPS

-12.8%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
1 TB
wKVM-SSD 1024 Metered Windows

17 /mes

/mes

Facturado cada 12 meses

-21.4%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
500 GB
wKVM-SSD 8192 HK Windows

67 /mes

/mes

Facturado cada 12 meses

-12.3%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-wKVM-SSD 16384 Windows

237 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 8192 Windows

28.44 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 2048 Linux

6.29 /mes

/mes

Facturado cada 12 meses

-15.4%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
100 Mbps
DDoS Protected SSD-wKVM 16384 Windows

130 /mes

/mes

Facturado cada 12 meses

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 4096 HK Windows

40 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 4096 Windows

18.65 /mes

/mes

Facturado cada 12 meses

-9.2%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-wKVM-SSD 4096 Windows

72 /mes

/mes

Facturado cada 12 meses

-7.9%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
200 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 8192 Windows

26.04 /mes

/mes

Facturado cada 12 meses

Otros artículos sobre este tema

Guía para instalar Composer
Guía para instalar Composer
cookie

¿Acepta las cookies y la política de privacidad?

Utilizamos cookies para asegurar que damos la mejor experiencia en nuestro sitio web. Si continúa sin cambiar la configuración, asumiremos que acepta recibir todas las cookies del sitio web HostZealot.