无论您是将Fedora Linux用于桌面还是服务器,都应考虑为Secure Shell(SSH)登录启用双因素身份验证。为什么?因为SSH是远程登录服务器的主要方式,所以您最不希望的是将该服务保持打开状态以进行攻击。 更好地锁定它的一种方法是为SSH启用双因素身份验证。我想引导您完成这样做的步骤,这样您就可以享受Fedora台式机和服务器的更高安全性。 准备:Fedora的一个实例启动并运行。具有sudo访问权限的用户帐户。您的移动设备上的第三方身份验证器应用程序(例如Authy)。 在您开始讨论之前,我强烈建议您在直接访问Fedora的物理计算机上测试。如果出现问题,您能够直接登录到计算机,可以更方便解决问题。 安装 第一步是安装Google身份验证器。打开终端窗口并发出以下命令: sudo dnf install google-authenticator nano -y 安装完成后,使用以下命令运行该工具: google-authenticator 您将被问到以下问题: Do you want authentication tokens to be time-based (y/n) y Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y 然后,应用程序将显示QR码,您需要扫描到Authy(在移动设备上)。您还将获得一个密码列表,您需要将其复制并保存在一个安全的秘密位置。成功扫描QR码并保存恢复代码后,您将再被问到三个问题(同样,每个问题都回答“是”)。 配置SSH 在此之前,请确保您可以SSH到Fedora计算机。开箱即用,SSH守护程序可能未运行,因此请使用以下命令启动并启用它: sudo systemctl start sshd sudo systemctl enable sshd SSH运行并启用后,请确保从您计划用于获取远程访问权限的任何/所有计算机上将SSH密钥复制到此计算机(用于SSH密钥身份验证)。这可以通过从需要访问的每台机器运行以下命令来完成: ssh-copy-id USER @ FEDORA_IP USER是Fedora机器上的用户名,FEDORA_IP是Fedora机器的IP地址。 一旦您能够使用SSH密钥身份验证SSH到Fedora计算机,就可以配置SSH以使用双因素身份验证。从终端窗口(在Fedora机器上),发出命令: sudo nano /etc/pam.d/sshd 注释掉第一行(通过在开头添加#symbole)。该行现在看起来像: #auth substack password-auth 在文件的底部,添加以下行: auth sufficient pam_google_authenticator.so 保存并关闭该文件。 接下来,我们需要配置SSH守护进程。发出命令: sudo nano / etc / ssh / sshd_config 首先,将ChallengeResponseAuthentication从no更改为yes,如下所示: ChallengeResponseAuthentication是的 接下来,将PasswordAuthentication更改为no,如下所示: PasswordAuthentication no 最后,将以下内容添加到该文件的底部: AuthenticationMethods publickey,password publickey,keyboard-interactive 保存并关闭文件。 使用以下命令重新启动SSH守护程序: sudo systemctl restart sshd 登录 准备好登录。从您的一台客户端计算机上,打开终端窗口并发出命令: ssh USER @ FEDORA_IP USER是Fedora机器上的用户名,FEDORA_IP是Fedora机器的IP地址。系统将提示您输入验证码(图A),您将从移动验证应用中检索该验证码。 图A:我们提供验证码的SSH提示。 输入代码后,您应该可以访问该计算机(因为您设置了SSH密钥身份验证)。 恭喜,您现在可以为Fedora机器设置双因素身份验证。每当有人尝试使用SSH登录该服务器或桌面时,如果没有您的移动身份验证应用程序生成的双因素身份验证代码,他们将无法访问。 |
无论您是将Fedora Linux用于桌面还是服务器,都应考虑为Secure Shell(SSH)登录启用双因素身份验证。为什么?因为SSH是远程登录服务器的主要方式,所以您最不希望的是将该服务保持打开状态以进行攻击。
更好地锁定它的一种方法是为SSH启用双因素身份验证。我想引导您完成这样做的步骤,这样您就可以享受Fedora台式机和服务器的更高安全性。
准备:Fedora的一个实例启动并运行。具有sudo访问权限的用户帐户。您的移动设备上的第三方身份验证器应用程序(例如Authy)。
在您开始讨论之前,我强烈建议您在直接访问Fedora的物理计算机上测试。如果出现问题,您能够直接登录到计算机,可以更方便解决问题。
安装
第一步是安装Google身份验证器。打开终端窗口并发出以下命令:
sudo dnf install google-authenticator nano -y
安装完成后,使用以下命令运行该工具:
google-authenticator
您将被问到以下问题:
Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y
然后,应用程序将显示QR码,您需要扫描到Authy(在移动设备上)。您还将获得一个密码列表,您需要将其复制并保存在一个安全的秘密位置。成功扫描QR码并保存恢复代码后,您将再被问到三个问题(同样,每个问题都回答“是”)。
配置SSH
在此之前,请确保您可以SSH到Fedora计算机。开箱即用,SSH守护程序可能未运行,因此请使用以下命令启动并启用它:
sudo systemctl start sshd
sudo systemctl enable sshd
SSH运行并启用后,请确保从您计划用于获取远程访问权限的任何/所有计算机上将SSH密钥复制到此计算机(用于SSH密钥身份验证)。这可以通过从需要访问的每台机器运行以下命令来完成:
ssh-copy-id USER @ FEDORA_IP
USER是Fedora机器上的用户名,FEDORA_IP是Fedora机器的IP地址。
一旦您能够使用SSH密钥身份验证SSH到Fedora计算机,就可以配置SSH以使用双因素身份验证。从终端窗口(在Fedora机器上),发出命令:
sudo nano /etc/pam.d/sshd
注释掉第一行(通过在开头添加#symbole)。该行现在看起来像:
#auth substack password-auth
在文件的底部,添加以下行:
auth sufficient pam_google_authenticator.so
保存并关闭该文件。
接下来,我们需要配置SSH守护进程。发出命令:
sudo nano / etc / ssh / sshd_config
首先,将ChallengeResponseAuthentication从no更改为yes,如下所示:
ChallengeResponseAuthentication是的
接下来,将PasswordAuthentication更改为no,如下所示:
PasswordAuthentication no
最后,将以下内容添加到该文件的底部:
AuthenticationMethods publickey,password publickey,keyboard-interactive
保存并关闭文件。
使用以下命令重新启动SSH守护程序:
sudo systemctl restart sshd
登录
准备好登录。从您的一台客户端计算机上,打开终端窗口并发出命令:
ssh USER @ FEDORA_IP
USER是Fedora机器上的用户名,FEDORA_IP是Fedora机器的IP地址。系统将提示您输入验证码(图A),您将从移动验证应用中检索该验证码。
图A:我们提供验证码的SSH提示。
输入代码后,您应该可以访问该计算机(因为您设置了SSH密钥身份验证)。
恭喜,您现在可以为Fedora机器设置双因素身份验证。每当有人尝试使用SSH登录该服务器或桌面时,如果没有您的移动身份验证应用程序生成的双因素身份验证代码,他们将无法访问。