我正在尝试为 2 个不同的机器设置基于公钥的身份验证。一个是 RHEL,另一个是 CentOS。我在两个机器上都遇到了同样的问题,即 ssh 失败并返回到基于密码的身份验证。导致此问题的错误似乎相当模糊:
debug1: Unspecified GSS failure. Minor code may provide more information
未找到凭证缓存文件‘/tmp/krb5cc_1000’
这两个盒子完全不相关。我的公钥在两个盒子的 .ssh/authorized_keys 文件中,所有权限都经过检查,并且良好(.ssh 为 700,内部为 600)我有一堆其他运行各种版本(Gentoo、Fedora、FreeBSD 等)的服务器,并且 publickey ssh 工作正常,但 CentOS 和 RHEL 出于某种原因给了我这个 :(
有人遇到过这种情况吗?我甚至不知道如何进一步分析这个问题:(
答案1
您收到的错误与 Kerberos 身份验证有关。
我假设您没有使用 Kerberos 并且您已正确设置密钥。
尝试在你的 ssh 配置文件中添加或修改这些内容
sshd_配置
GSSAPIAuthentication no
GSSAPICleanupCredentials no
KerberosAuthentication no
KerberosOrLocalPasswd no
KerberosTicketCleanup no
ssh_配置
RSAAuthentication yes
PasswordAuthentication yes
HostbasedAuthentication no
GSSAPIAuthentication no
GSSAPIDelegateCredentials no
答案2
SELinux 权限阻止 SSH 服务访问 authorized_keys。
用于restorecon -r /root/.ssh
恢复权限,或者完全关闭 SELinux。