Kerberos + Ldap安装程序不能使用ssh

我在同一台服务器上有一个Kerberos 5 + LDAPconfiguration。

他们都很好(我假设)。 Kerberos在请求TGT时工作正常。

当我尝试从client1通过无密码的SSHlogin到client2时,问题来了…即使我有一个有效的TGT,它一直要求我input密码。

我发布一些日志和configuration。

client1 ssh_config:

主机*

GSSAPIAuthentication是的
GSSAPIDelegateCredentials是
GSSAPIKeyExchange是的

client2 sshd_config:

GSSAPI选项

GSSAPIAuthentication是的
GSSAPICleanupCredentials是的

Kerberos选项

KerberosAuthentication是

试图从客户端1获得TGT:

kinitpipe理员

[email protected]的密码:

klist的

票据caching:FILE:/ tmp / krb5cc_0
默认主体:[email protected]

有效起始时间到期服务主体
23/05/13 15:35:45 24/05/13 01:35:45 krbtgt / [email protected]
续订至24/05/13 03:35:45

尝试从客户端1到客户端2的SSH:

Client1 shell输出:

ssh [email protected]

[email protected]的密码:

Client2 / var / log / auth:

5月23日15:39:42 CLIENT2 sshd [31486]:无效的用户pipe理从192.168.1.173
5月23日15:39:42 CLIENT2 sshd [31486]:失败无效用户admin从192.168.1.173端口38326 ssh2

Client1 shell输出:

klist的

票据caching:FILE:/ tmp / krb5cc_0
默认主体:[email protected]

有效起始时间到期服务主体
23/05/13 15:35:45 24/05/13 01:35:45 krbtgt / [email protected]
续订至24/05/13 03:35:45
23/05/13 15:40:24 24/05/13 01:35:45 host/[email protected]
续订至24/05/13 03:35:45

正如你所看到的,CLIENT2 ssh2甚至没有尝试对kerberos服务器进行身份validation。 但Kerberos给client1的TGT给client2。

我检查了连接或DNS问题…这一切都很好。

任何帮助? 提前致谢…

UPDATE

@Steve:我检查了/etc/pam.d/sshd,看起来没有kerberosconfiguration那里但是这是我在nsswitch.conf:

# pre_auth-client-config#passwd:compat
passwd:文件ldap
# pre_auth-client-config#group:compat
组:文件ldap
# pre_auth-client-config#shadow:compat
shadow:文件ldap

使用命令pam-auth-update我也select了Kerberosauthentication。

谢谢…

client2没有一个名为admin的帐户,因此所有尝试对该不存在的帐户进行身份validation都将失败。 sshd是不会打扰做一个不退出帐户的GSSAPI。

如果这是帐户本地存在,您需要使用useradd创build它。 如果它存在于LDAP中,那么确保你正确地configuration了nss-ldap / nss-ldapd (通常是/etc/ldap.conf )。