Solución 1:
Lo único que se me ocurre sería agregar --expiredate
al adduser
llamar.
Con eso, el cliente sabe que su acceso caducará automáticamente en una fecha fija.
Todavía necesita confiar en usted ya que tiene acceso de root y aún podría eliminar el indicador de caducidad.
Solución 2:
Puede grabar sus sesiones con la utilidad script(1).
$ script session.log
Script started, file is session.log
$ ls
file1 session.log
exit
Script done, file is session.log
entonces todo está en session.log.
Solución 3:
Dado que ya está iniciando sesión con una clave pública SSH, las cosas se complicarían un poco si no proporcionara un hash de contraseña; en su lugar, dígales que usen adduser --disabled-password
(equivalentemente, useradd -p '!'
, creo), que es efectivamente equivalente a PasswordAuthentication no
para esa cuenta, además, no hay posibilidad de que alguien husmeando en su correo electrónico pueda forzar el hash de la contraseña e iniciar sesión como usted.
Solución 4:
¿Por qué proporcionar una contraseña si va a utilizar claves públicas/privadas?
Las claves públicas están destinadas a ser compartidas, por lo que esto es lo que debe usar para intercambiar credenciales de forma segura, no contraseñas cifradas.
sudo useradd --disabled-password hbruijn
Al enviar su clave pública, verifique la huella digital en un segundo canal, como una llamada telefónica, para que sepa que nadie la alteró en el camino.
Dado que ahora no tendrá una contraseña para usar sudo, también debe modificar su línea en el archivo sudoers para
hbruijn ALL=(ALL) NOPASSWD:ALL
Si no se siente cómodo sin tener una contraseña para sudo, y realmente quiere una contraseña, aún no es necesario que envíe su contraseña cifrada, deje que la cuenta se cree sin contraseña, configure su clave pública y una vez que su cuenta esté configurado, puede iniciar sesión a través de ssh y ejecutar passwd
para establecer su propia contraseña.