Eu segui https://ubuntu.com/tutorials/configure-ssh-2fa para configurar a proteção 2FA no SSH no meu sistema Ubuntu 22.04.5. Eu tenho apenas autenticação baseada em chave habilitada, então isso pode ser excessivo, mas parece mais seguro que mesmo se de alguma forma minha chave privada se soltasse, não seria o suficiente por si só.
Não quero ter que inserir um código TOTP ao conectar de um sistema na minha LAN, então o meu /etc/pam.d/sshd
tem isto:
auth [success=done default=ignore] pam_access.so accessfile=/etc/security/access-local.conf
auth required pam_google_authenticator.so
/etc/security/access-local.conf
tem:
+ : ALL : 192.168.1.0/24
+ : ALL : LOCAL
- : ALL : ALL
Tudo isso funciona bem. Sou solicitado a fornecer um código TOTP quando estou fora da minha LAN e não quando estou nela.
Meu problema agora é que o tab-completion scp
não funciona mais. Por exemplo, em outro sistema eu tento:
$ scp server:someth<TAB>
e something
deve completar automaticamente, assumindo que o arquivo existe. Isso funciona bem quando não tenho o módulo PAM habilitado, mas não funciona quando está. Mesmo no caso em que estou na minha LAN e não sou solicitado a fornecer o código TOTP, ele falha. Quando pressiono TAB, recebo mensagens como esta no servidor /var/log/auth.log
:
Oct 26 17:08:13 server sshd[1136620]: Connection closed by authenticating user user 192.168.1.182 port 53145 [preauth]
Oct 26 17:08:13 server sshd[1136732]: Connection closed by authenticating user user 192.168.1.182 port 53146 [preauth]
As mensagens sempre aparecem em pares como esta para cada pressionamento de TAB.
Alguém tem alguma ideia do que posso fazer para que isso funcione?