¿Existe un generador de código de verificación de autenticación de dos factores de línea de comando?

23

Administro un servidor con autenticación de dos factores. Tengo que usar la aplicación de iPhone Google Authenticator para obtener el código de verificación de 6 dígitos para ingresar después de ingresar la contraseña normal del servidor. La configuración se describe aquí: http://www.mnxsolutions.com/security/two-factor-ssh-with-google-authenticator.html

Me gustaría una forma de obtener el código de verificación usando solo mi computadora portátil y no desde mi iPhone. Debe haber una manera de generar una aplicación de línea de comando que genere estos códigos de verificación y le proporcione el código para la ventana actual de 30 segundos.

¿Hay algún programa que pueda hacer esto?

dan
fuente

Respuestas:

24

Sí, oathtoolpuedo hacer esto. Tendrá que sembrarlo con el secreto compartido de su servidor.

Puede instalarlo desde el oath-toolkitpaquete.

EEAA
fuente
¿Es esto compatible con el módulo PAM de Google Authenticator? Parece una bestia diferente (aunque funcionalmente equivalente) ...
voretaq7
2
Sí, con la --totpbandera, implementa el mismo TOTP alg que cumple con los estándares que Google Authenticator.
EEAA 01 de
2
Es oathtool. En muchos casos, necesita ambos --totpy la -bbandera (decodificación base32)
Zouppen
1
FWIW, escribí una envoltura de shell para Oathtool que es funcionalmente equivalente a Authy en la CLI: github.com/poolpog/bash-otp
JDS
FWIW: Escribí un contenedor C que se usa libpam-google-authenticatorpara verificar los tokens. Consulte github.com/hilbix/google-auth : en el archivo README se checktotpmuestra la función . Simplemente quite el | fgrep -qx "$1";para ver los tokens.
Tino
3

Hay muchas implementaciones de autenticación de terceros. Echa un vistazo a la lista en la página de wikipedia . Por ejemplo, puede usar onetimepass (que está escrito en Python) para usar la línea de comandos.

Jeff VanNieulande
fuente
3

También hay una implementación de go en github en https://github.com/pcarrier/gauth

Este usa un archivo de configuración ~/.config/gauth.csvpara almacenar los tokens en el siguiente formato

[email protected]: abcd efg hijk lmno
aws-account: mygauthtoken

Y la salida también es bastante amigable:

$ gauth
           prev   curr   next
AWS        315306 135387 483601
Airbnb     563728 339206 904549
Google     453564 477615 356846
Github     911264 548790 784099
[=======                      ]
Adam Terrey
fuente
2

Hasta donde sé, Google solo lanza la aplicación Authenticator para teléfonos (iOS, Android).
(Esto plantea un problema para las personas paranoicas como yo, que realmente no confían en el historial de interrupción de los servicios de Google con poco aviso, y preferirían un generador de tokens que podamos ver dentro).

Podría considerar otras alternativas, como un sistema de contraseña único .


Honestamente, obtener el código de verificación de su computadora portátil contrarresta el aspecto de autenticación de dos factores (cualquiera que capture la computadora portátil ahora tiene el generador de código, eso es parte de lo que se supone que Authenticator debe proteger).

voretaq7
fuente
Estoy de acuerdo con el sentimiento de que un dispositivo separado es fundamentalmente necesario para 2FA. Sin embargo, ¿podría ese dispositivo secundario ser un servidor remoto ?
Jerry W.
1
Almacenar su secreto TOTP en su computadora portátil en lugar de su teléfono sigue siendo mucho, mucho mejor que ningún TOTP si no almacena su contraseña en su computadora portátil (por ejemplo, en el agente de contraseñas de su navegador). Los atacantes MITM (como los registradores de teclas) no tienen acceso al secreto TOTP, solo al código basado en el tiempo, por lo que capturan información de autenticación válida solo por un minuto o dos. Una computadora portátil robada tiene el secreto TOTP, pero no la contraseña. (Deberá usar una contraseña más débil para que sea memorable, pero eso está bien con TOTP). Hacer que los atacantes olfateen la contraseña y roben el secreto complica su tarea.
Curt J. Sampson
Una nota más: TOTP como se practica técnicamente no es una autenticación de dos factores en el sentido más estricto, porque tanto la contraseña como el secreto de TOTP son "algo que sabes". Cualquiera de los dos puede copiarse sin el conocimiento del propietario de la pérdida de secreto.
Curt J. Sampson
1

Podrías probar http://soundly.me/oathplus

Esta es una herramienta que desarrollé además de la venerable oathtool, que le permite leer códigos QR y guardar información de la cuenta OTP para su uso posterior. Puede considerarlo como Google Authenticator para la línea de comandos, ya que puede descargar y leer códigos QR, y consumir otpauth://URI. (OSX solo atm.)

tarro
fuente
0

Una línea de comandos de Windows gauth.exe para usar desde vim, al editar un archivo que contiene códigos de Gauth.

https://github.com/moshahmed/gauth/releases/download/mosh1/gauth-vim-stdin-win7-2019-01-08.zip

Es una bifurcación de https://github.com/pcarrier/gauth para compilar en windows7.

Prueba / uso:

c:\Go\src\cmd\vendor\github.com\pcarrier\gauth-vim-stdin-win7> echo "dummy1: ABCD" | gauth.exe
prev curr next
dummy1 562716 725609 178657
[== ]

Usage from vim, when your cursor is on line
"dummy1: ABCD"
: . w ! gauth
" temp shell window popup with codes.
mosh
fuente