在Linux系统上实施SSH的两因素身份验证(2FA),通过在授予访问权限之前需要两种形式的验证来增强安全性。这是使用Google Authenticator设置2FA的分步指南,这是为此目的最受欢迎的工具之一:
安装Google Authenticator :
首先,安装Google Authenticator PAM模块。在像Ubuntu这样的基于Debian的系统上,您可以通过运行来执行此操作:
<code>sudo apt-get update sudo apt-get install libpam-google-authenticator</code>
在基于红帽的系统(例如CentOS)上,您可以使用:
<code>sudo yum install google-authenticator</code>
为您的用户配置Google Authenticator :
将google-authenticator
命令作为用户运行:将使用SSH:
<code>google-authenticator</code>
此命令将生成一个秘密密钥和QR码。根据您的喜好回答提示,例如是否使用基于时间的令牌以及是否应每30秒更新密钥。
配置PAM以使用Google Authenticator :
通过打开file /etc/pam.d/sshd
并在最后添加以下行:编辑SSH的PAM配置:
<code>auth required pam_google_authenticator.so</code>
修改SSHD配置:
OPEN /etc/ssh/sshd_config
并确保配置以下设置:
<code>ChallengeResponseAuthentication yes PasswordAuthentication no UsePAM yes</code>
然后重新启动SSH服务以应用更改:
<code>sudo systemctl restart sshd</code>
在Linux系统上为SSH实施两因素身份验证提供了几种安全好处:
有几种工具和软件选项可用于在Linux上为SSH设置2FA,包括:
在Linux服务器上为SSH配置2FA时,您可能会遇到几个常见问题。这是对它们进行故障排除的方法:
配置2FA后,SSH连接失败:
ChallengeResponseAuthentication
设置为yes
,并将UsePAM
设置为yes
IN /etc/ssh/sshd_config
。auth required pam_google_authenticator.so
将正确添加到/etc/pam.d/sshd
中。验证代码未接受:
google-authenticator
生成的秘密键是否由PAM模块正确存储和使用。身份验证提示未出现:
/etc/pam.d/sshd
事项中的条目顺序。确保不会被后续条目覆盖Google Authenticator条目。登录循环或悬挂:
调试SSHD :使用带有SSH的-d
标志启用调试模式并捕获日志以了解登录过程失败的位置:
<code>ssh -v user@host</code>
检查日志:检查系统日志是否有任何相关错误消息:
<code>sudo journalctl -u sshd</code>
硬件令牌问题:
通过遵循这些故障排除步骤,您可以解决常见问题并确保2FA在Linux服务器上的SSH正常工作。
以上是如何在Linux中实现SSH的两因素身份验证(2FA)?的详细内容。更多信息请关注PHP中文网其他相关文章!