在Authy-SSH等SSH上使用双因素身份validation时有什么缺点?

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

另外,当服务器发生时间不同步或丢失手机时,我可以将自己locking吗?

如果你想信任外部实体,你需要决定是否要自己做2FA。 这不仅不信任authy,而且不信任可能拦截authentication请求的攻击者。

每次您想通过SSHlogin时,都会将HTTP API请求发送到authy.com。 Authy决定访问是否被授予。

还有其他的托pipe服务,如authy,但也有你可以自己运行的解决scheme,因此你可以控制身份validation的决定。 您可以使用本地工作的google authenticator PAM模块或Yubikey。 或者,您可以托pipe您自己的身份validation服务器,如privacyIDEA 。 (Displaimer:我是privacyIDEA的开发者)。

对我来说,使用ForceCommand并不提供PAM模块来集成到PAM堆栈中,这听起来有点奇怪。 如果它集成到了pam栈中,那么你可以做如下的备份scheme:如果OTP失败仍然使用密码或使用ssh密钥进行身份validation…

当你不同步时,你不能locking你。 这是重新同步的手段。 当你松开手机时,你不能locking你。 您可以随时要求authy对下一个身份validation请求说“是” – 但是看起来像;-)

使用基于密钥的身份validation(即受限于可以使用的IP范围和/或可用于调用的命令的密钥)是一种非常安全的方式,可以使用基于SSH的资源脚本。 如果你在sshd上完全2FA,你将失去自动化任务访问资源而无需操作员干预的能力。