Tengo un nombre de usuario y una clave SSH para un tipo (hipotético) y necesito darle acceso de administrador a un servidor Linux (Ubuntu).
Quiero que pueda iniciar sesión a través de SSH y luego establecer su contraseña por sí mismo a través de una conexión segura, en lugar de pasar la contraseña.
Sé cómo hacer que la contraseña caduque y obligarlo a restablecerla en el primer inicio de sesión. Pero esto no funciona a menos que ya tenga alguna contraseña, que luego debo decirle.
Pensé en dejar la contraseña en blanco: SSH no permitiría el inicio de sesión, pero cualquiera puede su
ingresar al usuario.
Mi pregunta es, ¿hay alguna práctica recomendada para crear cuentas de esa manera? ¿O es inevitable establecer una contraseña predeterminada?
sudo
, ¿no?USERNAME = NOPASSWD: /usr/local/bin/pwreset.sh
en/etc/sudoers
y el script quepwreset.sh
ejecuta el comando/usr/bin/passwd USERNAME
, no necesitará una contraseña para (re) establecer su propia contraseña.Simplemente coloque un archivo de texto con la contraseña dentro de la página de inicio de los usuarios con derechos 600. El usuario inicia sesión con la clave, cambia la contraseña y elimina el archivo. Con un skript con conjunto de bits suid, incluso puede crear algo como passwd <archivo de texto sin darle al usuario el derecho de leer el archivo (los derechos serían 060 con group = root)
fuente
Establecer una contraseña predeterminada es inevitable. Mi procedimiento sería:
1) generar una contraseña segura y aleatoria (diferente para cada usuario). Uso el generador de contraseñas en la configuración de la cuenta de OSX, pero podría usar un sitio web como http://strongpasswordgenerator.com
2) Proporcione la contraseña de forma segura, por ejemplo, en persona o a través de http://www.privnote.com
3) forzar un reinicio en el primer inicio de sesión como ya sabe cómo hacerlo
fuente