Authy 是一个双重身份验证服务,与 Google 一样,它提供基于时间的代码。然而,Authy 不需要手机,因为它提供桌面和平板客户端。它们还支持离线身份验证,不需要 Google 帐户。
你需要从应用程序商店安装 Authy 应用程序,或 Authy 下载页面所链接的桌面客户端。
安装完应用程序后,需要在服务器上使用 API 密钥。这个过程需要几个步骤:
在这里注册一个账户。
向下滚动到 “Authy” 部分。
在帐户上启用双因子认证(2FA)。
回 “Authy” 部分。
为你的服务器创建一个新的应用程序。
从新应用程序的 “General Settings” 页面顶部获取 API 密钥。你需要 “PRODUCTION API KEY”旁边的眼睛符号来显示密钥。如图:
在某个安全的地方记下 API 密钥。
现在,回到服务器,以 root 身份运行以下命令:
curl -O 'https://raw.githubusercontent.com/authy/authy-ssh/master/authy-ssh'
bash authy-ssh install /usr/local/bin
当提示时输入 API 键。如果输入错误,你始终可以编辑 /usr/local/bin/authy-ssh 再添加一次。
Authy 现已安装。但是,在为用户启用它之前,它不会开始工作。启用 Authy 的命令有以下形式:
/usr/local/bin/authy-ssh enable <system-user><your-email><your-phone-country-code><your-phone-number>
root 登录的一些示例细节:
/usr/local/bin/authy-ssh enable root john@example.com 4420822536476
如果一切顺利,你会看到:
User was registered
现在可以通过运行以下命令来测试 Authy:
authy-sshtest
最后,重载 SSH 实现新的配置:
systemctl reload sshd.service
Authy 现在正在工作,SSH 需要它才能登录。
现在,当你登录时,你将看到以下提示:
AuthyToken(type 'sms' to request a SMS token):
你可以输入手机或桌面客户端的 Authy APP 上的代码。或者你可以输入 sms, Authy 会给你发送一条带有登录码的短信。
可以通过运行以下命令卸载 Authy:
/usr/local/bin/authy-ssh uninstall