Salta al contenuto principale
Lympha technologies

Guide pratiche

Deshabilitar el acceso con contraseña para el protocolo SSH

Cómo deshabilitar el acceso con contraseña al servicio SSH de un VPS Linux: copia de seguridad de sshd_config, modificación de PasswordAuthentication, reinicio y verificación del servicio — y el truco de las dos sesiones para no quedarse fuera.

Siguiendo el camino emprendido con los artículos anteriores sobre la protección de un VPS con sistema operativo Linux (la guía básica y el acceso con claves SSH), vamos ahora a modificar el servicio SSH para que no acepte solicitudes de acceso mediante la introducción de contraseña. De este modo solo se podrá acceder utilizando claves SSH, lo que aumenta intrínsecamente el nivel de seguridad del VPS.

Si perdieras tu clave privada, podrás acceder igualmente a tu VPS con usuario y contraseña a través de la consola web de VPS GREEN, accesible desde el dashboard. Una vez dentro desde la consola podrás reconfigurar el SSH con una nueva clave privada o restablecer el acceso con nombre de usuario y contraseña.

Requisitos previos

  1. Un VPS con sistema operativo Linux
  2. Un usuario con privilegios adecuados, es decir, sudo o directamente root
  3. Un editor de texto; en nuestro ejemplo usaremos nano
  4. Haber habilitado el SSH para el uso de claves cifradas

Modifica la configuración del servicio SSH

Antes de empezar con los cambios, abre dos sesiones SSH: en una ejecutarás todas las operaciones indicadas, mientras que la otra permanecerá abierta por si surge una emergencia (puede ser útil para evitar quedarse fuera si los cambios hechos en el archivo de configuración resultaran erróneos). El archivo de configuración del servicio SSH se encuentra en /etc/ssh/sshd_config; solo el usuario root puede modificarlo.

  1. Vayamos al directorio donde se encuentra el archivo sshd_config:
    $ cd /etc/ssh
  2. Hagamos una copia del archivo sshd_config, para poder restaurar rápidamente todos los ajustes modificados:
    $ sudo cp sshd_config sshd_config.orig
  3. Llegados a este punto podemos empezar con la modificación de la configuración:
    $ sudo nano sshd_config

Dentro del archivo, todo lo que empieza por # (almohadilla) representa un comentario y se ignora al arrancar el servicio; al mismo tiempo, sin embargo, nos indica cuál es el valor por defecto de esa opción concreta. Por ejemplo:

#Port 22   <- questa è la porta di default del servizio, ignorata
Port 4422  <- questa è la nuova porta, scelta da noi, utilizzata

Para impedir el acceso con la contraseña debemos encontrar la opción PasswordAuthentication, eliminar el símbolo # y cambiar su valor por defecto a no — o bien, si se prefiere, escribir una nueva línea conservando intacto el valor anterior. Con el editor nano tenemos a nuestra disposición una cómoda función de búsqueda: basta pulsar las teclas CTRL+W para activar, en la parte inferior de la ventana, un campo donde introducir el texto que buscar; al pulsar INTRO comenzará la búsqueda en el archivo.

Una vez encontrado el parámetro PasswordAuthentication, puedes modificarlo:

# PasswordAuthentication yes
PasswordAuthentication no

Guarda los cambios pulsando las teclas CTRL+X, después Y y por último INTRO para aceptar el nombre de archivo propuesto.

  1. Llegados a este punto hay que hacer efectivos los cambios recién hechos: es necesario, por tanto, reiniciar el servicio SSH lanzando el comando
    $ sudo systemctl restart sshd
  2. Dado que no recibirás ninguna salida particular que confirme el reinicio, comprueba que el servicio se haya iniciado correctamente (si el archivo sshd_config contiene errores, el servicio no se reiniciará):
    $ sudo systemctl status sshd

Nunca más contraseñas

Si el procedimiento se ha ejecutado bien, podrás ver en la línea «Active:» que el servicio está activo y en ejecución, con un tranquilizador active (running). Ahora puedes intentar conectarte, por ejemplo sin la clave privada, para comprobar que el servicio SSH de tu VPS negará firmemente el acceso, sin pedir siquiera nombre de usuario o contraseña:

utente_vps@ip_vps: Permission denied (publickey)

Guía publicada originalmente en el blog de VPS GREEN, el servicio VPS en nuestro cloud privado green.

Comparte este artículo

LinkedIn X Email

Redacción Lympha

Los artículos de este blog nacen de la experiencia de campo de nuestras Business Units y Centros de competencia: quien escribe es quien diseña, gestiona y da soporte cada día a los sistemas de los que hablamos. Los contenidos tienen carácter informativo y reflejan el estado del arte en la fecha de publicación.

También te puede interesar