ssh 2fa 不起作用,但当我使用 sudo 时起作用

ssh 2fa 不起作用,但当我使用 sudo 时起作用

我在 Linux 上启用 2FA 时遇到问题。我已完成启用 2FA 所需的所有操作,但当我想使用 ssh 连接到 Linux 操作系统时,2FA 不起作用。我使用公钥/私钥建立了连接,但使用 google 身份验证的验证不起作用。

当我输入密码后直接连接到 PC 时它可以工作,它会显示验证码,但是当我使用 ssh 连接时它不会显示验证码。在我使用私钥连接后,当我想以超级用户权限执行某些操作时它可以工作(我的意思是它要求我插入在我的应用程序中生成的基于时间的代码)。

我的问题是当我使用 ssh 和私钥/公钥连接到 PC 时如何启用 2FA?我的意思是当我尝试登录时,我希望 2FA 显示并成为我 PC 上的第二个安全步骤。非常感谢

我使用的 Linux 是 Ubuntu 22.04

答案1

我解决了我的问题。我猜其他人也遇到了这个问题。

必须在 sshd 和 sshd_config 文件中添加一些额外的行以使 ssh 知道 mfa。

最后,我必须在文件 /etc/ssh/sshd_config 中添加身份验证方法:

AuthenticationMethods publickey,password publickey,keyboard-interactive

然后在 /etc/pam.d/sshd 中注释掉:

@include common-auth

sudo systemctl restart sshd.service

最后重新启动服务,它就成功了!

相关内容