Jannah 主题 许可证未验证,请转到主题选项页面以验证许可证,每个域名都需要一个许可证。

如何为 SSH 连接启用双因素身份验证

SSH 本身是一种连接到远程机器的安全方式。 但是,如果您仍然热衷于为 SSH 连接增加额外的安全性,您可以添加双因素身份验证,以便在通过 SSH 连接时提示输入随机验证码。 我们之前向您解释过 如何在不同的社交网络上做到这一点 在这里,我们向您展示如何为 SSH 连接添加双因素身份验证。

two-factor-ssh-guide-00-featured-image 如何为 SSH 连接启用双因素身份验证

注意:这些说明基于 Ubuntu 服务器。 如果您使用的是其他发行版,某些命令可能会有所不同。

安装 SSH 双因素身份验证

在要安装双因素身份验证的计算机上打开终端会话,键入以下内容:

sudo apt 安装 ssh libpam-google-authenticator

two-factor-ssh-guide-06-installing-programs 如何为 SSH 连接启用双因素身份验证

要完成安装,请运行:

谷歌-认证

提示:了解如何使用 SSH X 转发来运行远程应用程序。

配置双因素 SSH 身份验证

您将被问到一系列问题。 在大多数情况下,您可以写“y”(是)作为答案。 任何时候设置错误,请按 Ctrl + C,然后再次键入 Google-Authenticator 以重置设置。

  1. 该程序询问您是否希望身份验证代码与时间相关。 为此,请按 Y 然后 输入。
    在这个问题之后,你应该看到你的密钥和紧急代码。 记录并保存详细信息。 稍后您将需要密钥来设置 Google 身份验证器应用程序。 two-factor-ssh-guide-01-run-authenticator 如何为 SSH 连接启用双因素身份验证 two-factor-ssh-guide-11-generate-secret-key 如何为 SSH 连接启用双因素身份验证
  2. 该程序会询问您是否需要 更新“/home/username/.google_authenticator”文件。 اضغطعلى Y 然后 输入.
    two-factor-ssh-guide-07-update-google-auth-config 如何为 SSH 连接启用双因素身份验证
  3. 当系统询问您是否要禁止多次使用同一身份验证令牌时,这将限制您每次只能登录一次。 30ثانية. 如果您想确保任何时候只有一个活动连接可以使用身份验证令牌,这将很有用。
    two-factor-ssh-guide-08-toggle-auth-token-multiple-uses 如何为 SSH 连接启用双因素身份验证
  4. 默认情况下,身份验证令牌仅在 30 秒内有效。 为了补偿客户端和服务器之间可能存在的时间偏差,将窗口从其默认大小 1-1/2 分钟增加到大约 4。这在本地计算机时钟或远程服务器未正确同步的情况下很有用。
    two-factor-ssh-guide-09-extend-time-limit 如何为 SSH 连接启用双因素身份验证
  5. 为身份验证模块启用速率限制。 此选项将攻击者限制为不超过 每 3 秒进行 30 次登录尝试。 two-factor-ssh-guide-10-enable-rate-limiting 如何为 SSH 连接启用双因素身份验证
另請閱讀:  如何在桌面和移动设备上将 Microsoft Outlook 电子邮件另存为 PDF

配置 SSH 以使用 Google 身份验证器

  1. افتحملف “/etc/pam.d/sshd”:
    须藤纳米/etc/pam.d/sshd

    two-factor-ssh-guide-02-open-pam-config 如何为 SSH 连接启用双因素身份验证

  2. 将此行添加到文件的顶部:
    身份验证需要 pam_google_authenticator.so

    two-factor-ssh-guide-03-update-pam-config 如何为 SSH 连接启用双因素身份验证

  3. 点击 Ctrl + O 和 Ctrl + X 保存并退出文件。
  4. 打开 文件“/etc/ssh/sshd_config”:
    须藤纳米/ etc / ssh / sshd_config
  5. 向下滚动到文件底部并键入以下行:
    ChallengeResponseAuthentication 是

    two-factor-ssh-guide-04-edit-sshd-config 如何为 SSH 连接启用双因素身份验证

  6. 保存并退出文件。
  7. أعدتشغيل ssh 服务器:
须藤 systemctl 重启 ssh

two-factor-ssh-guide-05-restart-ssh-daemon 如何为 SSH 连接启用双因素身份验证

在 Google 身份验证器中设置密钥

  1. 打开 谷歌身份验证器应用 (或其替代方案之一)在您的智能手机上(或 سطحالمكتب). 点击应用程序左下角的加号图标,然后选择 输入设置密钥。
    two-factor-ssh-guide-12-link-new-key 如何为 SSH 连接启用双因素身份验证
  2. 输入身份验证应用程序的名称。
    two-factor-ssh-guide-13-create-new-auth-name 如何为 SSH 连接启用双因素身份验证
  3. 输入您之前创建的密钥,然后按 “添加”。

two-factor-ssh-guide-14-add-new-key 如何为 SSH 连接启用双因素身份验证

当您通过 SSH 连接到远程计算机时,您将看到一个验证密钥请求。

two-factor-ssh-guide-15-sample-two-factor-login 如何为 SSH 连接启用双因素身份验证

注意:双因素身份验证仅适用于基于密码的登录。 如果您已经在使用 SSH 会话的公钥/私钥 ,它将绕过双因素身份验证并直接登录。 另请查看更多保护 SSH 服务器的方法。

经常问的问题

Q1。 我正在使用 Yubikey。 我还能在 SSH 中使用双因素身份验证吗?

回答。 不。 Google 身份验证器仅适用于标准 SSH 密码登录。 类似于设置公共 SSH 密钥,此特定模块不能与其他第三方双因素解决方案一起使用,例如 Yubikey。

Q2。 是否可以在不同的手机上使用相同的授权密钥?

回答。 是的。 只要您有您的密钥或二维码,您就可以轻松地使用带有谷歌身份验证器的不同手机。 但是,在将其导入新设备之前,您需要确保已从之前的设备中完全删除您的授权密钥,因为任何可以访问之前设备的不良行为者都能够绕过您的二进制挑战。

Q3。 您可以通过 SSH 使用不同的双因素身份验证应用程序吗?

回答。 是的。 虽然 libpam 模块的开发人员专门将其设计为与 Google Authenticator 一起使用,但您仍然可以将其与其他身份验证应用程序一起使用,因为二进制密钥格式在不同的应用程序中通常是相同的。

另請閱讀:  修复 Windows 7 上 Microsoft Edge 崩溃的 10 大方法
转到顶部按钮