针对 Active Directory 进行身份验证的 Linux 服务器是否可以接受用于无密码登录的公钥/私钥?

针对 Active Directory 进行身份验证的 Linux 服务器是否可以接受用于无密码登录的公钥/私钥?

我有一个 Linux 服务器,可以根据 Active Directory 对用户进行身份验证。现在,交互式登录需要用户名和密码,自动登录需要密钥表 (Kerberos) 进行无密码身份验证。

不过,我读过NIST 红外 7966keytab 身份验证不如公钥/私钥对身份验证那么安全,因为在这种情况下,您可以限制对命令执行的访问,并且可以更好地控制用户可以验证哪些系统。

因此,我想使用公钥/私钥对并继续从 Linux 服务器对 Active Directory 进行身份验证。这可能吗?

答案1

是的,您可以使用 sshd 选项同时要求 kerberos 和公钥身份验证 AuthenticationMethods

人 5 sshd_config:

认证方法

指定必须成功完成才能授予用户访问权限的身份验证方法。此选项后必须跟一个或多个以逗号分隔的身份验证方法名称列表。成功的身份验证需要完成至少其中一个列表中的每种方法。 [...] 如果协议 1 也已启用,则此选项将产生致命错误。请注意,还应在配置中显式启用列出的每种身份验证方法。

因此,您需要在 sshd_config 中编写如下内容:

Protocol 2
GSSAPIAuthentication yes
PubkeyAuthentication yes 

AuthenticationMethods gssapi-with-mic, publickey

相关内容