SSH 无密码认证的判定机制

SSH 无密码认证的判定机制

我正在尝试了解成功执行无密码 SSH 身份验证的机制。虽然启用了公钥身份验证,但这是不是发生了什么。我在我的授权密钥文件。此外,我甚至不确定我的个人用户授权密钥由于我们使用 FreeIPA 的 LDAP 实现进行身份验证,因此文件开始发挥作用。

客户端 SSH 配置看起来好像正在使用基于主机的身份验证。但是,服务器端 SSH 配置已禁用基于主机的身份验证。

下面,我提供我认为所有相关的配置信息。

根据以下提供的内容,有人能向我解释无密码身份验证是如何发生的吗?如果没有,我可以提供哪些其他信息来提供帮助?

先感谢您!

软件版本

CentOS:7.3.1611

ipa-客户端.x86_64 4.4.0-14.el7.centos.7
ipa-客户端-common.noarch 4.4.0-14.el7.centos.7
ipa-common.noarch 4.4.0-14.el7.centos.7
sssd-ipa.x86_64 1.14.0-43.el7_3.18

openssh.x86_64 6.6.1p1-35.el7_3

sssd.x86_64 1.14.0-43.el7_3.18
sssd-ad.x86_64 1.14.0-43.el7_3.18
sssd-client.x86_64 1.14.0-43.el7_3.18 sssd
-common.x86_64 1.14.0-43.el7_3.18
sssd-common-pac.x86_64 1.14.0-43.el7_3.18
sssd-ipa.x86_64 1.14.0-43.el7_3.18
sssd-krb5.x86_64 1.14.0-43.el7_3.18
sssd-krb5-common.x86_64 1.14.0-43.el7_3.18
sssd-ldap.x86_64 1.14.0-43.el7_3.18
sssd-proxy.x86_64 1.14.0-43.el7_3.18

SSH 客户端配置

PubkeyAuthentication 是
GlobalKnownHostsFile /var/lib/sss/pubconf/known_hosts
ProxyCommand /usr/bin/sss_ssh_knownhostsproxy -p %p %h

主机 *
GSSAPIAuthentication 是

SSH 服务器配置

下面,我提供了我认为相关的 sshd 配置选项。如果需要其他选项的值,请告诉我。这些是通过执行 sshd -T 获得的,而不是仅仅从 /etc/ssh/sshd_config 复制和粘贴。所以,它们应该是真正有效的。

allowtcpforwarding 是
身份验证方法 任何
authorizedkeyscommand /usr/bin/sss_ssh_authorizedkeys
authorizedkeysfile .ssh/authorized_keys
challengeresponseauthentication 是
网关端口否
gssapiauthentication是 gssapicleanupcredentials 是 gssapienablek5users
否 gssapikexalgorithms gss-gex-sha1-,gss-group1-sha1-,gss-group14-sha1- gssapikeyexchange 否 gssapistorecredentialsonrekey否 gssapistrictacceptorcheck 是 hostbasedauthentication否 hostbasedusesnamefrompacketonly 否 ignoreuserknownhosts 否 kbdinteractiveauthentication 是 kerberosauthentication否 kerberosorlocalpasswd 是 kerberosticketcleanup 是 kerberosusekuserok 是 passwordauthentication 是 permitopen 任何 permittunnel 否 permituserenvironment 否 pubkeyauthentication 是 strictmodes 是 usedns 否 uselogin 否 usepam 是





















答案1

发布 Xenoid 的评论作为答案:

执行 ssh -v {host} ,你将获得已检查的身份验证协议的完整列表(最后一个协议是使用的协议)。 – xenoid 7 月 2 日 20:20

注:感谢 Xenoid 的贡献

答案2

从您的包裹清单中:

sssd-ipa.x86_64 1.14.0-43.el7_3.18

sssd-krb5.x86_64 1.14.0-43.el7_3.18

从您的 SSH 服务器配置:

gssapiauthentication 是

从您的 SSH 客户端配置:

GSSAPI身份验证 是

根据您的信息,我假设您已将您的主机注册为 IPA 客户端免费IPA你可能正在使用基于 Kerberos 的单点登录全局搜索应用程序编程接口

您主要需要在 SSH 登录之前获取 Kerberos 票证授予票证 (TGT),您可以使用命令将其与获取的服务票证一起列出。kinit [email protected]klist

为了确保万无一失,查看ssh -v其他人已经写好的输出以及添加在设置所有这些时所遵循的文档/操作方法会很有帮助。

相关内容