使用以下命令在 Linux 服务器上安装 Google Authenticator。
sudo apt install libpam-google-authenticator
然后键入“y”确定下载。
输入下面的命令运行 Google authenticator。
google-authenticator
针对系统需要确认的问题Do you want authentication tokens to be time-based?验证码是不是要基于时间的. 键入“y”选择yes, 会得到一个二维码。打开手机上下载的Google authencator的软件,扫描二维码就可以将此台服务器账号添加到软件中。
在二维码下面,有紧急备用代码,仅供一次性使用。您在丢失身份验证器时可以使用这个代码。请确保将这些代码存储在安全的地方。
之后,系统会弹出以下 4 个问题。出于安全考虑,建议都选择yes。
我们需要在"/etc/ssh/sshd_config"和"/etc/pam.d/sshd"这两个文件中做配置。
配置/etc/ssh/sshd_config
使用以下命令进入文件编辑页面。
sudo nano /etc/ssh/sshd_config
找到UsePAM和ChallengeResponseAuthentication字段,并将其值更改为 yes,如屏幕截图所示。之后,按“CTRL + X”,然后按“Y”,最后按“Enter”保存文件。
修改完成后,用以下命令重新启动SSH 服务使更改生效。
sudo systemctl restart ssh
配置/etc/pam.d/sshd
下一步是将Google身份验证器添加到“/etc/pam.d/sshd”文件中的登录步骤中。使用以下命令进入文件编辑界面。
sudo nano /etc/pam.d/sshd
复制“auth required pam_google_authenticator.so”并粘贴将到文件中。最后,按“CTRL + X”,然后按“Y”,然后按“Enter”保存文件
到这里就已经设置好2FA了。
配置成功后,尝试双因子验证(2FA)登录。在Putty输入服务器IP和端口,创建一个连接。
同样,系统要求输入密码。密码输入后并要求一个验证码。
打开智能手机上的身份验证应用程序并获取一个6个字符的代码。输入代码后,就可以登录到会话了。
通过执行这些步骤,您可以利用Google Authenticator提供的便利性和安全性,为 Linux 服务器建立强大且有效的双因子认证(2FA)设置。请确保您的密钥和移动设备的安全。