ssh Autenticação do teclado: quando inserir o código do Google Authenticator

0

Estas perguntas parecem relacionadas:

Acredito que minhas circunstâncias são diferentes o suficiente para iniciar um novo tópico.

Eu configurei o ssh para usar o PAM, com o Google-Authenticator. Eu adicionei as linhas necessárias a /etc/ssh/sshd_config e /etc/pam.d/sshd e configurei o Google Authenticator nos computadores e no aplicativo. A chave pública de cada sistema é copiada do outro.

Em /etc/ssh/sshd_config :

PasswordAuthentication no
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive:pam

Em /etc/pam.d/sshd :

#%PAM-1.0
auth     required  pam_securetty.so     #disable remote root
# require google authenticator
auth      required  pam_google_authenticator.so
# but not password
#auth      include   system-remote-login
account   include   system-remote-login
password  include   system-remote-login
session   include   system-remote-login

Esta é a saída de ssh -vvv 192.IP.address.0 :

OpenSSH_7.4p1, OpenSSL 1.0.2j  26 Sep 2016
...
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: ...
...
debug2: service_accept: ssh-userauth
...
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/trespaul/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok
debug3: sign_and_send_pubkey
Enter passphrase for key '/home/trespaul/.ssh/id_rsa': 
debug3: send packet: type 50
debug3: receive packet: type 51
Authenticated with partial success.
debug1: Authentications that can continue: **keyboard-interactive**
debug3: **start over**, passed a different list keyboard-interactive
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: **keyboard-interactive**
debug2: userauth_kbdint
debug3: send packet: type 50
debug2: **we sent a keyboard-interactive packet**, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: keyboard-interactive
debug3: userauth_kbdint: disable: no info_req_seen
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (keyboard-interactive).

Entre os dois últimos negritos / estrelas duplas ("próximo método de autenticação é kbd interativo" e "nós enviamos um pacote"), não me é pedido o meu OTP. Por que é isso? O que estou perdendo?

Informações adicionais

Estou no Arch. libpam-google-authenticator instalado do AUR com make install etc.

Editar: log do servidor

journalctl no servidor tem o seguinte:

systemd[1]: Started OpenSSH Per-Connection Daemon (10.0.0.5:38150).
sshd[1376]: PAM unable to dlopen(/usr/lib/security/pam_google_authenticator.so): /usr/lib/security/pam_google_authenticator.so: cannot open shared object file: No such file or directory
sshd[1376]: PAM adding faulty module: /usr/lib/security/pam_google_authenticator.so
sshd[1376]: error: PAM: Module is unknown for paul from 10.0.0.5
sshd[1376]: Connection closed by 10.0.0.5 port 38150 [preauth]

Obrigado.

    
por TresPaul 10.01.2017 / 23:26

2 respostas

0

libpam-google-authenticator installed from AUR with make install etc.

Não é assim que você instala as coisas do AUR.

Um pacote do AUR já tem seu próprio build & instale instruções - o arquivo PKGBUILD , que já copia os arquivos necessários para seus lugares e até mesmo faz um arquivo .pkg.tar.gz com eles. A maneira correta de criar um é makepkg :

makepkg -sirc

irá criar, instalar e limpar.

E se o seu download não tiver um PKGBUILD ? Então você baixou o arquivo errado. As fontes de pacotes de nível superior podem ser obtidas no link na caixa mais à direita,

    
por 11.01.2017 / 15:51
1

Então resolvi isso com

sudo cp '.../AUR Package/.libs/pam_google_authenticator.so' /usr/lib/security/pam_google_authenticator.so

O erro foi o arquivo .so ausente, implicando que algo deu errado ou perdi alguma coisa durante a instalação.

No entanto, isso não parece ser uma boa prática. Se alguém tiver uma solução melhor e mais elegante, sinta-se à vontade para adicionar uma resposta.

    
por 11.01.2017 / 11:26