Configurar Ubuntu Server para Aceptar OTP (One Time Passwords)

Como recomendación en seguridad, cuando necesitemos acceder a nuestros servidores desde una ubicación poco o nada segura y no queramos exponer el password de nuestro servidor, podemos optar por utilizar los famosos passwords de un solo uso u OTP (por sus siglas en inglés)

Para esto necesitamos instalar opie:

apt-get install opie-server

A continuación, como usuario establecemos una contraseña y el programa nos proporciona un challenge:

opiepasswd -c -f

ID kobayasymaru OTP key is 499 ku8732
FISH FORM BEAR HID FEAT RUBE

Podemos obtener un listado de los 10 futuros password de un solo uso que vamos a poder usar mediante el comando siguiente:

$ opiekey -n 10 499 ku8732
495: FATE SANE INN SOFA TONG OWLY
496: CRAY TACT LASS DARE JAN MART
497: COED MAUL SITU JAY KIND SINE
498: OUTS CLAN NORM LIEU AVOW PRO
499: FISH FORM BEAR HID FEAT RUBE

Por último, falta configurar el sistema para que acepte estas contraseñas. Editamos ‘/etc/pam.d/common-auth’:

auth sufficient pam_unix.so nullok_secure
auth sufficient pam_opie.so
auth required pam_deny.so
#auth requisite pam_unix.so nullok_secure
#auth optional pam_smbpass.so migrate missingok

Y en el caso de que usemos SSH, editamos ‘/etc/ssh/sshd_config’:

ChallengeResponseAuthentication yes

Deseo agradecer al Blog de Marble, por servirme de guia para crear esta entrada.