我有一个 Linux 服务器,可以根据 Active Directory 对用户进行身份验证。现在,交互式登录需要用户名和密码,自动登录需要密钥表 (Kerberos) 进行无密码身份验证。
不过,我读过NIST 红外 7966keytab 身份验证不如公钥/私钥对身份验证那么安全,因为在这种情况下,您可以限制对命令执行的访问,并且可以更好地控制用户可以验证哪些系统。
因此,我想使用公钥/私钥对并继续从 Linux 服务器对 Active Directory 进行身份验证。这可能吗?
答案1
是的,您可以使用 sshd 选项同时要求 kerberos 和公钥身份验证 AuthenticationMethods
。
认证方法
指定必须成功完成才能授予用户访问权限的身份验证方法。此选项后必须跟一个或多个以逗号分隔的身份验证方法名称列表。成功的身份验证需要完成至少其中一个列表中的每种方法。 [...] 如果协议 1 也已启用,则此选项将产生致命错误。请注意,还应在配置中显式启用列出的每种身份验证方法。
因此,您需要在 sshd_config 中编写如下内容:
Protocol 2
GSSAPIAuthentication yes
PubkeyAuthentication yes
AuthenticationMethods gssapi-with-mic, publickey