多语言展示
当前在线:1481今日阅读:27今日分享:41

如何使用Google的双因素身份验证来保护SSH

想要使用易于使用的双因素身份验证来保护您的SSH服务器?Google提供必要的软件,可将Google Authenticator的基于时间的一次性密码(TOTP)系统与您的SSH服务器相集成。当您连接时,您必须从手机输入代码。本文主要参照《Linux就该这么学》;Google Authenticator不会向Google“return home” - 所有的工作都发生在您的SSH服务器和手机上。事实上,Google Authenticator是完全开源的,所以你甚至可以自己检查它的源代码。
工具/原料

ubuntu

方法/步骤
1

一、安装Google Authenticator要使用Google Authenticator实施多因素身份验证,我们需要开源的Google Authenticator PAM模块。PAM代表“可插拔认证模块” - 它可以轻松地将不同形式的认证插入到Linux系统中。Ubuntu的软件仓库包含用于Google Authenticator PAM模块的易于安装的软件包。如果您的Linux发行版不包含该软件包,则必须从Google Code 的Google Authenticator下载页面下载该文件并自行编译。要在Ubuntu上安装软件包,请运行以下命令:sudo apt-get install libpam-google-authenticator(这将仅在我们的系统上安装PAM模块 - 我们必须手动激活SSH登录。)

2

二、创建验证密钥以远程登录的用户身份登录,并运行google-authenticator命令为该用户创建一个密钥。允许命令通过输入y来更新您的Google Authenticator文件。然后会提示您提出几个问题,允许您限制使用相同的临时安全性令牌,增加令牌可以使用的时间窗口,并限制允许的访问次数来阻止暴力破解尝试。这些选择都为一些易于使用的交易提供了一些安全保障

3

Google Authenticator会向您显示一个秘密密钥和几个“紧急划痕”。将紧急划痕代码写在一个安全的地方 - 它们只能使用一次,如果您丢失手机,它们将被用于使用。

4

在手机上的Google Authenticator应用程式中输入密码(官方应用程式适用于Android,iOS和Blackberry)。您还可以使用扫描条形码功能 - 转到位于命令输出顶部附近的URL,您可以使用手机的相机扫描QR码。

5

您现在将在手机上不断更改验证码。

6

如果要远程登录为多个用户,请为每个用户运行此命令。每个用户将拥有自己的秘密密钥和自己的密码。

7

三、激活Google身份验证器接下来,您必须要求Google Authenticator进行SSH登录。为此,请打开系统上的/etc/pam.d/sshd文件(例如,使用sudo nano /etc/pam.d/sshd命令),并将以下行添加到文件中:auth需要pam_google_authenticator.so接下来,打开/ etc / ssh / sshd_config文件,找到ChallengeResponseAuthentication行,并将其更改为如下所示:ChallengeResponseAuthentication是的(如果ChallengeResponseAuthentication行不存在,请将上述行添加到文件中。)最后,重新启动SSH服务器,使您的更改生效:sudo服务ssh重启

8

当您尝试通过SSH登录时,系统将提示您输入密码和Google Authenticator代码。

推荐信息