Si la cuenta de servicio puede hacer sudo sin contraseña, entonces debe proteger el acceso a esa cuenta.
Tener la cuenta no tener una contraseña, y usar solo claves ssh para iniciar sesión, logra esto, siempre que también pueda mantener segura la clave privada ssh.
El nuevo usuario creado en (2) solo puede iniciar sesión con la clave SSH, sin contraseña. La clave SSH brinda acceso indirecto a la raíz. Así que esto es equivalente a simplemente permitir el inicio de sesión de root con una clave.
Como la cuenta no tiene contraseña, no es posible tener sudo
pedir una contraseña. También Ansible necesita poder ejecutar comandos. Tener una contraseña adicional para proporcionar en el mismo lugar que la clave no aumentaría la seguridad.
El problema es que ansible es para administradores y automatización, por lo que si necesita ingresar una contraseña para ejecutar un script, no es realmente la mejor manera. Además, no es seguro almacenar la contraseña para sudo en un archivo o base de datos y ansible obtenerla cada vez que ejecuta el libro de jugadas. Por lo tanto, la combinación de sudo sin contraseña y la autenticación con claves ssh es el mejor método para garantizar la seguridad y evitar problemas correctos al ejecutar el libro de jugadas. También eres un administrador y sabes lo que estás programando en el libro de jugadas. Entonces, el libro de jugadas no puede destruir sus servidores.