本教程将向您展示如何设置 SSH 两步验证 在 CentOS/RHEL 服务器上使用著名的 Google Authenticator。 它将大大提高您的 CentOS/RHEL 服务器上 SSH 服务的安全性。
两因素身份验证的工作原理
通常您只需要输入密码或使用 SSH 密钥登录远程 CentOS/RHEL 服务器。 双因素身份验证 (2FA) 要求您输入两条信息才能登录,因此您还需要输入基于时间的一次性密码才能登录您的 SSH 服务器。 这个一次性密码是使用 TOTP 算法计算的,这是一种 IETF 标准。 如今,许多网站和服务(Facebook、Google、Twitter 等)为用户提供 2FA 以保护他们的帐户,同时为您的 SSH 服务器启用 2FA 也是一个好主意。
本教程将向您展示如何设置
- 使用 2FA 进行密码验证
- 使用 2FA 进行公钥认证
笔记:我们将在本文中使用的开源服务器软件称为 google-authenticator
,它是从 EPEL 存储库安装的。 谷歌公司不以任何形式参与认证过程。 服务器软件和移动应用程序不需要网络访问。
第 1 步:在 CentOS/RHEL 服务器上安装和配置 Google Authenticator
登录您的 CentOS/RHEL 服务器并运行以下命令以从 EPEL(企业 Linux 的额外软件包)存储库安装 Google 身份验证器。 qrencode
用于在命令行生成二维码。
sudo dnf install -y epel-release sudo dnf install -y google-authenticator qrencode qrencode-libs
然后运行 google-authenticator
命令在 ~/.ssh/
目录。
google-authenticator -s ~/.ssh/google_authenticator
当被问到“您希望身份验证令牌是基于时间的吗?” 回答 和.
然后,您将看到需要使用手机上的 TOTP 应用程序扫描的二维码。