De alguma forma, eu encontrei uma solução.
Primeiro, crie um usuário sem senha, algo como:
sudo adduser backup --disabled-password
e, em seguida, em /etc/ssh/sshd_config
:
Match User backup
AuthenticationMethods publickey keyboard-interactive
ForceCommand sudo login
e na parte inferior de sudo visudo
:
backup ALL=(ALL:ALL) NOPASSWD:/bin/login
Finalmente, corra
google-authenticator
como o usuário backup
. Ou você pode copiar o seu
.google_authenticator
arquivo para o novo usuário.
Agora, sempre que eu preciso fazer o login sem minha chave privada, eu ssh no usuário backup
, insiro meu código de dois fatores e recebo o prompt de login do sistema que me permite fazer login no meu usuário principal.