Cuentas SSH provisionales …

… porque de algo hay que morir, supongo.

Para el siguiente truco necesito los programas adduser, chage, pwgen y passwd. Y el resultado final serán cuentas de usuario en un sistema Linux a las que se forzará un cambio de contraseña en la primera conexión (en la que se utilice PAM, claro).

Primero creamos la cuenta de usuario de la siguiente manera:

$ sudo adduser --disabled-login --gecos "Usuario de prueba" locatis 
Añadiendo el usuario `locatis' ...
Añadiendo el nuevo grupo `locatis' (1003) ...
Añadiendo el nuevo usuario `locatis' (1003) con grupo `locatis' ...
Creando el directorio personal `/home/locatis' ...
Copiando los ficheros desde `/etc/skel' ...

No ha sido necesario proporcionar más información y siempre podemos añadirle el grupo inicial si nos hace falta.

Después le asignamos una contraseña que previamente generamos aleatóriamente con doce caracteres de longitud:

$ pwgen 12 1
oa4OoCh6Lic5
$ sudo passwd locatis 
Introduzca la nueva contraseña de UNIX: 
Vuelva a escribir la nueva contraseña de UNIX: 
passwd: contraseña actualizada correctamente
$

Y por último cambiamos la fecha de expiración de dicha contraseña:

$ sudo chage -d 0 locatis

Ahora probaremos a conectar vía SSH con la cuenta recién creada:

$ ssh locatis@localhost
locatis@localhost's password: 
You are required to change your password immediately (root enforced)
Linux gladius 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
WARNING: Your password has expired.
You must change your password now and login again!
Cambiando la contraseña de locatis.
(actual) contraseña de UNIX: 

Y si no introducimos una contraseña y su verificación

(actual) contraseña de UNIX: 
passwd: Error de manipulación del testigo de autenticación
passwd: no se ha cambiado la contraseña
Connection to localhost closed.
$

Nos sigue valiendo la contraseña que hemos creado pero se le ha denegado el acceso que es justo lo que queremos.

¿ Y todo esto a qué viene ?

Pues a que algunos se dedican a la informática, tienen que acceder a sistemas ajenos para hacer cosas de informáticos, y no saben (o no quieren saber) lo que es el correo electrónico cifrado para recibir credenciales.

Y así vamos.