帮助中心

产品使用与售后服务帮助

当前位置:首页 > 帮助中心> 如何在AlmaLinux服务器上安装和配置2FA

如何在AlmaLinux服务器上安装和配置2FA

发布时间:2021-03-12 09:14 来源:A5数据

鉴于CentOS情况,你可能已经选择将你的Linux服务器迁移到新分支--AlmaLinux。如果是这样的话,您会发现该过程是非常自动化的,或者有些挑战。一旦你启动并运行了AlmaLinux,你应该做的第一件事就是为SSH设置双因素认证(2FA)。毕竟,你不希望仅仅依靠SSH来对你的服务器进行身份验证。

如何在AlmaLinux上安装google-authenticator命令

首先,我们必须在AlmaLinux上安装google-authenticator命令。该软件位于EPEL存储库中,该存储库必须首先使用以下命令进行安装:

sudo dnf install epel-release -y

启用repo后,请使用以下命令安装软件(以及可在终端窗口中打印QR码的工具):

sudo dnf install google-authenticator grencode-libs -y

如何创建SSH密钥

实际上,您不需要在AlmaLinux服务器上使用SSH密钥,但是需要使用〜/ .ssh目录。您可以手动创建,但是必须确保权限是完美的,否则会出现问题。因此,最好仅让SSH处理该目录的创建。 

要创建SSH密钥,请发出以下命令:

ssh-keygen

接受默认位置(〜/ .ssh)并为密钥创建一个密码。

如何生成2FA的QR码

为了将AlmaLinux添加到您的2FA应用中,我们必须运行google-authenticator命令。但是,我们将对其进行运行,以使其将必要的文件转储到新创建的〜/ .ssh目录中。该命令是:

google-authenticator -s ~/.ssh/google_authenticator

请务必对所有问题回答Ÿ。当您在终端窗口中看到打印的QR码(您可能必须扩展终端窗口以查看整个代码)时,请确保将其与身份验证器应用程序一起添加到移动设备上-具体操作取决于在您使用的应用上。 

由于我们将google_authenticator文件存储在非标准位置,因此我们需要使用以下命令来还原SELinux上下文:

sudo restorecon -Rv ~/.ssh/

如何为2FA配置SSH

既然已经设置了2FA,则需要配置SSH才能使用它。使用以下命令打开SSH守护程序配置文件:

sudo nano /etc/pam.d/sshd

在该文件的底部,添加以下两行:

auth       required     pam_google_authenticator.so secret=/home/${USER}/.ssh/google_authenticator nullok 

auth       required     pam_permit.so

保存并关闭文件。 

使用以下命令打开SSH配置文件:

sudo nano /etc/ssh/sshd_config

查找以下两行:

#ChallengeResponseAuthentication yes

ChallengeResponseAuthentication no

将这些行更改为:

ChallengeResponseAuthentication yes

#ChallengeResponseAuthentication no

保存并关闭文件。使用以下命令重新启动SSH守护程序:

sudo systemctl restart sshd

如何使用SSH 2FA登录

这个很重要。您将要在退出当前终端窗口之前测试登录,以防出现问题。在本地计算机上打开第二个终端,然后通过SSH到远程服务器。应该首先提示您输入密码(如果设置了SSH密钥身份验证,则提示输入SSH密钥密码),然后提示输入2FA代码。如果您被允许登录,那就成功了!如果没有,请重新检查您的工作。

这就是在CentOS分支AlmaLinux上启用2FA的方式。希望您已开始对所有Linux服务器采用这种身份验证方法。为了使其更加安全,还应该启用SSH密钥身份验证(在如何设置ssh密钥身份验证中查找方法)。