Google Authenticator SSH 密码或密钥

Google Authenticator SSH 密码或密钥

我已经按照设置了 libpam-google-authenticatorhttps://www.digitalocean.com/community/tutorials/how-to-set-up-multi-factor-authentication-for-ssh-on-ubuntu-16-04

它可以工作,但问题是我无法使用密码登录,需要使用密钥。如果没有密钥,我会得到拒绝权限的公钥,甚至不需要输入密码。我怎样才能让它使用公钥 + 双因素或密码 + 双因素?

答案1

我稍微想出了一个解决办法。

首先,创建一个没有密码的用户,例如:

sudo adduser backup --disabled-password

然后在/etc/ssh/sshd_config

Match User backup
    AuthenticationMethods publickey keyboard-interactive
    ForceCommand sudo login

并且位于底部sudo visudo

backup ALL=(ALL:ALL) NOPASSWD:/bin/login

最后,运行

google-authenticator

作为用户backup。或者,您可以复制您的

.google_authenticator

文件给新用户。

现在,每当我需要在没有私钥的情况下登录时,我都会通过 ssh 进入用户backup,输入我的双因素代码,然后我就会收到允许我登录到主用户的系统登录提示。

相关内容