SSH con autenticación de clave pública-privada viene habilitada de forma predeterminada con la mayoría de las distribuciones de Linux. Esto es genial porque cuando creo cuentas para usuarios remotos no tengo que enviarles información confidencial (contraseñas).
Sin embargo, este proceso se vuelve inútil cuando estos usuarios necesitan ejecutar sudo
; el servidor todavía está solicitando sus contraseñas. Eso significa que todavía necesito generar contraseñas para estos usuarios y descubrir cómo obtenerlas de forma segura.
Sé sobre el archivo sudoers
y el parámetro NOPASSWORD
. Sin embargo, me siento incómodo habilitándolo. Todavía desearía algún tipo de autenticación antes de que los usuarios puedan ejecutar los comandos sudo
.
Mientras realizaba una investigación sobre este tema, encontré el proyecto pam_ssh_agent_auth , que a mi entender permite la misma autenticación de clave pública / privada que la utilizada para conexiones ssh pero para el comando sudo
.
Parece que con este módulo en su lugar, podemos tener cuentas completamente sin contraseña.
¿Por qué este módulo o proceso similar no forma parte de las configuraciones de distribución de Linux estándar? ¿Hay alguna advertencia de seguridad que me falta por qué esto no se adopta más ampliamente? ¿Por qué se considera que sudo con contraseña es más seguro que sudo de clave pública / privada ?