在 SSH 上使用双因素身份验证(如 Authy-SSH)有什么缺点?

在 SSH 上使用双因素身份验证(如 Authy-SSH)有什么缺点?

我正在考虑在我的 SSH 帐户(OpenSSH、Ubuntu)上设置双因素身份验证。我研究了Authy-SSH但我想知道可能的缺点是什么?

此外,当服务器时间不同步或我丢失手机时,我可以把自己锁在外面吗?

答案1

您需要决定是否要自行执行 2FA,或者是否要信任外部实体。这不仅是不信任身份验证,而且不信任任何可能拦截身份验证请求的攻击者。

每次您想通过 SSH 登录时,都会向 authy.com 发送 HTTP API 请求。Authy 决定是否授予访问权限。

还有其他托管服务,如 authy,但也有您可以自行运行的解决方案,因此您可以控制身份验证决策。您可以使用谷歌身份验证器 PAM模块或 Yubikey,它们在本地工作。或者你可以托管自己的身份验证服务器,例如隐私理念.(免责声明:我是 privacyIDEA 的开发人员)。

对我来说,使用 ForceCommand 而不提供 PAM 模块来集成到 PAM 堆栈中听起来也有点奇怪。如果它曾是集成到 pam 堆栈中,然后您可以执行备份场景,例如:如果 OTP 失败,仍然使用密码或 ssh 密钥进行身份验证......

当您不同步时,您无法锁定您。有方法可以重新同步。当您丢失手机时,您无法锁定您。您可以随时要求 authy 对下一个身份验证请求说“是” - 不管它看起来如何 ;-)

答案2

使用绑定密钥的基于密钥的身份验证(即,密钥受其可使用的 IP 范围和/或可用于调用的命令的限制)是一种非常安全的方式,可以从脚本中使用基于 SSH 的资源。如果您在 上完全使用 2FA sshd,您将无法让自动化任务无需操作员干预即可访问资源。

相关内容