SSH 的混合身份验证方法

SSH 的混合身份验证方法

有没有办法在 Linux 中对某些账户进行 Kerberos 身份验证,对其他账户进行 ssh-key 身份验证?Kerberos 方法适用于 Windows 和 Linux 中的账户,而密钥方法适用于 Linux 账户。

答案1

在 sshd_config 中启用两者。例如:

AuthenticationMethods gssapi-with-mic publickey

缺少组分隔逗号很重要,这意味着或者, 不是

答案2

身份验证远程控制由客户端驱动:ssh 客户端决定在可用的身份验证方法中使用哪种。

如果您只想让用户在 Kerberos 和 ssh-keys 之间进行选择,请确保它们处于活动状态:

GSSAPIAuthentication yes
GSSAPIKeyExchange no
PubkeyAuthentication yes

如果GSSAPIKeyExchange是,yes服务器将使用 Kerberos 向客户端进行身份验证,而不一定使用主机密钥。

如果由于某种原因,您想要将可用的身份验证方法限制给某些用户组,则可以使用AuthenticationMethods以下指令约翰的回答在一个Match块中:

Match Group <windows_user_group>
AuthenticationMethods gssapi-with-mic

但是我看不出这样做的正当理由,因为当 Kerberos 服务器关闭时,它只会阻止 Windows 用户登录。

相关内容