Cómo restringir el inicio de sesión raíz SSH, pero permitir algunas excepciones

Cómo restringir el inicio de sesión raíz SSH, pero permitir algunas excepciones

en openssh, puede restringir el inicio de sesión de root (PermitRootLogin no), pero ¿puede tener una excepción?

Respuesta1

Dado que iniciar sesión como root no es una buena idea, eche un vistazo a la página de manual de sshd:

Permitir inicio de sesión raíz

Especifica si root puede iniciar sesión utilizando ssh(1). El argumento debe ser "sí", "sin contraseña", "solo comandos forzados" o "no". El valor predeterminado es "sí".

Si esta opción está configurada en ``sin contraseña'', la autenticación de contraseña está deshabilitada para root.

Si esta opción está configurada en ``solo comandos forzados'', se permitirá el inicio de sesión raíz con autenticación de clave pública, pero sólo si se ha especificado la opción de comando (lo que puede ser útil para realizar copias de seguridad remotas incluso si el inicio de sesión raíz normalmente no es permitido). Todos los demás métodos de autenticación están deshabilitados para root.

Si esta opción está configurada en ``no'', el root no podrá iniciar sesión.

Por lo tanto, podría utilizarlo PermitRootLogin without-passwordpara permitir la autenticación de clave pública/privada y al mismo tiempo no permitir la autenticación de contraseña; o tal vez PermitRootLogin forced-commands-onlypermitirle iniciar sesión como root pero sin acceso interactivo.

El último caso requiere que edite authorized_keysel archivo para especificar qué comando está habilitado para el usuario que registra, así:

command="rdiff-backup --server" ssh-rsa AAAAB3NzaC1y... (rest of key)

O incluso mejor, permita el inicio de sesión root solo con comandos forzados desde una dirección IP específica:

from="10.1.1.1",command="/home/user/command/to/execute" ssh-rsa AAAAB3NzaC1y... (rest of key)

información relacionada