我在同一台服务器上有一个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理员
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输出:
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
)。