如何为SSH安装Authy和配置双重身份验证

来自菜鸟教程
跳转至:导航、​搜索

介绍


使用 双重身份验证 ,不仅需要密码或 SSH 密钥,还需要手机生成的时间敏感令牌,从而使您的 VPS 更加安全。

这意味着即使您的密码被泄露或您不小心泄露了您的私钥,您的云服务器也将保持安全。

Authy 提供了一个简单的设置平台,它不仅兼容谷歌和 Dropbox 等流行应用程序,还兼容您自己的 VPS。

它的设置超级简单,虽然它是一项商业服务,但对于个人和开发用途,您每月最多可以免费登录 1000 次。

你需要:

  • 一个 DigitalOcean 云服务器,准备 SSH 进入
  • iOS 或 Android 移动设备

入门


在手机上设置 Authy

为您的 iOSAndroid 设备下载 Authy 应用程序。

打开应用程序,然后按照简单的步骤操作,包括验证您的电话号码。 您的手机现在是一个安全令牌。

设置开发者帐户

您需要再次注册,这次是作为开发人员,以便您可以将您的 VPS 链接到手机的 Authy 应用程序。

为此,请前往此处的注册页面并输入您的电子邮件地址、国家/地区、电话号码和密码 - 确保您使用与之前输入的相同的手机号码。

[[File:“%3Ca]] https://assets.digitalocean.com/tutorial_images/njjJfFU.png ” alt =“注册” />

收到来自 Authy 的电子邮件后,单击其中的链接,系统会要求您登录。 您的手机将自动配置为访问您帐户的令牌 - 打开“Authy”应用程序,您将获得登录密码。

[[File:“%3Ca]] https://assets.digitalocean.com/tutorial_images/I87BRgw.jpg?4 ” alt =“iOS 上的验证码”/>

创建 API 应用程序

进入 仪表板 后,单击“创建新应用程序”,输入云服务器的友好名称,然后单击“创建”。

[[File:“%3Ca]] https://assets.digitalocean.com/tutorial_images/La7wt5T.png ” alt =“创建 API 应用程序”/>

几秒钟后,您将被带到您的应用程序。 将鼠标悬停在显示 API 密钥的挂锁上,然后将密钥复制到安全的地方。 稍后您将再次需要它。

[[File:“%3Ca]] https://assets.digitalocean.com/tutorial_images/GRfypgS.png ” alt =“API 密钥”/>

安装 authy-ssh

首先,通过 SSH 连接到您的 VPS:

ssh root@your.hostname.tld

下载安装程序,然后运行它,在 /usr/local/bin 中安装可执行文件:

curl "https://raw.github.com/authy/authy-ssh/master/authy-ssh%22 -o authy-ssh-installer

sudo bash authy-ssh-installer install /usr/local/bin

在提示符处,输入您之前从 Authy 网站收到的 API 密钥。 如果 Authy 关闭,您将被要求选择要做什么 - 我推荐选项 1,以防服务突然关闭。

为您的用户配置双重身份验证

只需运行以下命令,替换:

  • “whoami” 使用另一个用户名,如果您想为除了您登录为 emailnumber 的用户之外的用户配置电子邮件和您的 Authy 帐户上的手机号码
  • country 与您电话号码中的国家代码(例如“+44”代表英国,或“+1”代表美国和加拿大)
sudo /usr/local/bin/authy-ssh enable <whoami> email country number

它会要求你确认。 点击“y”,然后一切准备就绪。

试试看

重新启动 SSH 服务器以使更改生效。

Ubuntu: sudo service ssh restart Debian: sudo /etc/init.d/sshd restart CentOS: sudo service sshd restart

尝试通过 SSH 重新登录,系统会要求您提供 Authy 令牌。 打开应用程序,切换到“Authy”并输入代码。 您现在已登录。

改变主意了吗?


卸载 authy-ssh 时务必小心,否则您可能无法访问您的 VPS。 它只需要两个命令:

从之前运行安装程序脚本,但处于卸载模式:

chmod +x authy-ssh-installer
./authy-ssh-installer uninstall

重启你的 SSH 服务器,如上:

Ubuntu: sudo service ssh restart Debian: sudo /etc/init.d/sshd restart CentOS: sudo service sshd restart