¿Cómo crear un usuario de Linux sin contraseña pero poder configurarlo?

8

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 suingresar al usuario.

Mi pregunta es, ¿hay alguna práctica recomendada para crear cuentas de esa manera? ¿O es inevitable establecer una contraseña predeterminada?

Leonid Shevtsov
fuente

Respuestas:

7

¿Tienes su clave pública SSH? Póngalo .ssh/authorized_keysen su directorio personal. Una vez que haya hecho eso (y los permisos son lo suficientemente restrictivos, SSH es exigente con eso) podrá iniciar sesión sin necesidad de una contraseña ... y nunca la necesitará.

La mejor parte es que su clave pública no es sensible, por lo que pasarla por correo electrónico o chat está bien, y su clave privada nunca sale de su computadora.

Ladadadada
fuente
1
Necesitará una contraseña para sudo, ¿no?
Leonid Shevtsov
1
Puede permitir sudo sin contraseña.
MDMarra
1
Con una línea como USERNAME = NOPASSWD: /usr/local/bin/pwreset.shen /etc/sudoersy el script que pwreset.shejecuta el comando /usr/bin/passwd USERNAME, no necesitará una contraseña para (re) establecer su propia contraseña.
Ansgar Wiechers
0

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)

Erwin
fuente
-2

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

Oliver Kohll
fuente
Nunca , bajo ninguna circunstancia, use ningún tipo de generador de contraseñas en línea (o -checker para el caso).
Ansgar Wiechers
@AnsgarWiechers, ¿puedes apoyar esa afirmación con un buen argumento?
Zoredache
Demasiado involucrado que no puedes controlar. Incluso si el código realmente es JavaScript ejecutándose en el navegador: ¿revisa por pares el script cada vez antes de usarlo para asegurarse de que todavía no envíe la contraseña a ningún lado?
Ansgar Wiechers
Es por eso que le dice que genere unos cientos de contraseñas y elija una al azar.
Grant
@Grant: Incluso si tienes que elegir uno de unos pocos cientos de contraseñas, un atacante todavía sería hasta unos pocos cientos de conjeturas, que son ahora muy fácil de fuerza bruta. Hay suficientes opciones disponibles para generar contraseñas aleatorias localmente sin ningún tipo de acceso web involucrado. Si te importa la seguridad: utiliza uno de esos.
Ansgar Wiechers