随着Google Authenticator的引入以及与ssh一起使用的功能,我想知道是否有人通过了sshd_config设置,
- 首先期待一把钥匙
- 如果失败,请使用Google Authenticator进行身份验证
这种想法通常是与钥匙无缝连接,通常在不太友好的环境中,由两因素机制连接。
随着Google Authenticator的引入以及与ssh一起使用的功能,我想知道是否有人通过了sshd_config设置,
这种想法通常是与钥匙无缝连接,通常在不太友好的环境中,由两因素机制连接。
Answers:
是的,我有一个设置,可以ssh
使用公钥身份验证到服务器,并在我的私钥不可用时使用Google Authenticator +密码回退到两因素身份验证。这些是可以用来设置它的步骤。
我的服务器正在运行Ubuntu Bionic Beaver(18.04.1)。您可以使用安装Google Authenticator apt
:
$ sudo apt install libpam-google-authenticator
打开/etc/pam.d/sshd
并在顶部添加以下行:
auth optional pam_google_authenticator.so
打开/etc/ssh/sshd_config
并更改一行。现有的线是
ChallengeResponseAuthentication no
您应该将其更改为
ChallengeResponseAuthentication yes
下一步是为您的帐户启用Google Authenticator。您只需运行以下命令即可:
$ google-authenticator
确保以将要建立ssh连接而不是 root 用户的用户身份运行此程序。记下您的新密钥和您的紧急暂存代码。该向导将询问您几个问题,以配置您帐户的安全设置。
我使用iPhone的Google Authenticator应用。这个应用程序有一个[+]按钮,允许我使用从google-authenticator
服务器上的命令获得的密钥添加新的基于时间的令牌。设置起来很简单。我无法在任何其他平台上为您提供应用程序帮助,但我认为过程同样简单。
您需要做的最后一件事是重新启动sshd
。
$ sudo /etc/init.d/ssh restart
此时,当您尝试使用私钥可用时连接到服务器时,身份验证就可以了。如果您的私钥不可用,则会提示您输入验证码,然后提示您输入帐户密码。