Existe um gerador de código de verificação de autenticação de dois fatores na linha de comando?

23

Eu gerencio um servidor com autenticação de dois fatores. Preciso usar o aplicativo do Google Authenticator para iPhone para obter o código de verificação de seis dígitos após inserir a senha normal do servidor. A configuração é descrita aqui: http://www.mnxsolutions.com/security/two-factor-ssh-with-google-authenticator.html

Gostaria de obter o código de verificação usando apenas meu laptop e não o meu iphone. Deve haver uma maneira de propagar um aplicativo de linha de comando que gere esses códigos de verificação e forneça o código para a janela atual de 30 segundos.

Existe um programa que pode fazer isso?

dan
fonte

Respostas:

24

Sim, oathtoolpode fazer isso. Você precisará propagá-lo com o segredo compartilhado do seu servidor.

Você pode instalá-lo a partir do oath-toolkitpacote.

EEAA
fonte
Isso é compatível com o módulo PAM do Google Authenticator? Parece um animal diferente (embora funcionalmente equivalente) ...
voretaq7
2
Sim - com a --totpbandeira, ele implementa o mesmo algoritmo TOTP compatível com os padrões que o Google Authenticator.
EEAA
2
É oathtool. Em muitos casos, você precisa de ambos --totpe -bbandeira (base32 decodificação)
Zouppen
1
FWIW, eu escrevi um invólucro de shell para oathtool que é funcionalmente equivalente a Authy na CLI: github.com/poolpog/bash-otp
JDS
FWIW: Eu escrevi um wrapper C que usa libpam-google-authenticatorpara verificar tokens. Consulte github.com/hilbix/google-auth - no README, é checktotpexibida a função . Basta remover o | fgrep -qx "$1";para ver os tokens.
Tino
3

Existem muitas implementações de autenticador de terceiros. Confira a lista na página da Wikipedia . Por exemplo, você pode usar o onetimepass (escrito em Python) para o uso da linha de comando.

Jeff VanNieulande
fonte
3

Também existe uma implementação go no github em https://github.com/pcarrier/gauth

Este usa um arquivo de configuração ~/.config/gauth.csvpara armazenar os tokens no seguinte formato

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

E a saída também é bastante amigável:

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

Pelo que sei, o Google lança apenas o aplicativo Authenticator para telefones (iOS, Android).
(Isso representa um problema para pessoas paranóicas como eu, que realmente não confiam no histórico do Google de descontinuar serviços sem aviso prévio e preferem um gerador de token que podemos ver por dentro.)

Você pode considerar outras alternativas, como um sistema de teclado de senha descartável .


Honestamente, obter o código de verificação do seu laptop meio que derrota o aspecto da autenticação de dois fatores (quem captura o laptop agora tem o gerador de código - isso é parte do que o Authenticator deve proteger).

voretaq7
fonte
Eu concordo com o sentimento de que um dispositivo separado é fundamentalmente necessário para o 2FA. No entanto, esse dispositivo secundário poderia ser um servidor remoto ?
Jerry W.
1
Armazenar seu segredo TOTP no laptop em vez do telefone ainda é muito, muito melhor do que nenhum TOTP se você não armazenar sua senha no laptop (por exemplo, no agente de senhas do navegador). Os invasores do MITM (como registradores de chaves) não têm acesso ao segredo TOTP, apenas o código baseado em tempo e, portanto, capturam informações de autenticação válidas apenas por um minuto ou dois. Um laptop roubado possui o segredo TOTP, mas não a senha. (Você precisará usar uma senha mais fraca para torná-la memorável, mas tudo bem com o TOTP.) Fazer com que os invasores cheguem a senha e roubem o segredo complica sua tarefa.
Curt J. Sampson
Mais uma observação: o TOTP, conforme praticado, tecnicamente não é uma autenticação de dois fatores, no sentido mais estrito, porque a senha e o segredo do TOTP são "algo que você sabe". Qualquer um pode ser copiado sem o conhecimento do proprietário da perda de sigilo.
Curt J. Sampson
1

Você pode tentar http://soundly.me/oathplus

Essa é uma ferramenta que desenvolvi sobre o venerável oathtool, que permite ler códigos QR e esconder informações da conta OTP para uso posterior. Você pode pensar nele como o Google Authenticator para a linha de comando, pois ele pode baixar e ler códigos QR e consumir otpauth://URIs. (OSX apenas atm.)

jarra
fonte
0

Uma linha de comando do Windows gauth.exe para uso no vim, ao editar um arquivo que contém códigos gauth.

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

É uma bifurcação de https://github.com/pcarrier/gauth para compilar no windows7.

Teste / 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
fonte