我试图让管理员和开发人员尽可能轻松地过渡到双因素身份验证。一个绊脚石是每次客户端打开会话时都需要输入第二个因素。有没有办法获得 ssh 的双因素身份验证,其中第二个因素每天或其他一些相当长的时间段只需输入一次?
这个想法是为需要 2FA 的 ssh 设置跳转主机。然后可以使用跳转主机来提供对其他服务器的访问(ssh -J JumpHost TargetHost),而这些服务器又将被限制为仅接受来自跳转主机的连接。
理想情况下,对于我的环境,跳转主机上的第一次登录需要公钥、密码或 Kerberos TGT 以及第二个因素。在指定的时间段内在同一台服务器上的后续登录只需要第一个因素。
到目前为止,我已经检查了 Duo 和 Okta。Duo 还没有回复我关于持久性的问题,从他们的文档中看不出它甚至可以做到。Okta 可以做到这一点,但我发现了一种将凭据从一个用户劫持到另一个用户的方法——甚至跨客户端机器——所以它是一个不太有吸引力的选择。