Ubuntu域环境下Kerberos+SSH Keytab认证失败问题求助及标准配置咨询
Ubuntu域环境下Kerberos+SSH Keytab认证失败问题求助及标准配置咨询
大家好,我刚接触AD和Kerberos相关配置,最近遇到了一个头疼的问题:我搭建了一套Ubuntu域环境,用Ubuntu服务器作为域控(域名为domain.local),一台Ubuntu虚拟机(ubu1)作为工作站,想通过Kerberos+Keytab文件实现免密SSH登录ubu1,但一直失败,下面详细说我的配置过程和遇到的问题,希望能得到大家的帮助。
我的现有配置步骤
1. 工作站ubu1的OpenSSH配置
我在ubu1上修改了/etc/ssh/sshd_config文件,启用了以下Kerberos相关选项:
GSSAPIAuthentication yes GSSAPICleanupCredentials yes GSSAPIKeyExchange yes
2. PAM配置(使用sssd作为域客户端)
/etc/pam.d/common-session的配置内容如下:
session [default=1] pam_permit.so session requisite pam_deny.so session required pam_permit.so session optional pam_umask.so session optional pam_mkhomedir.so session required pam_unix.so session optional pam_sss.so session optional pam_systemd.so
3. 域用户创建与密码验证
我先在域控上创建了域用户user@domain.local:
samba-tool user add user Password123!
并且已经验证过,用密码可以正常登录ubu1:
ssh DOMAIN\\user@ubu1.domain.local
4. Keytab文件生成与本地票据获取
为了实现免密,我做了以下操作:
- 先设置用户密码永不过期:
sudo samba-tool user setexpiry user --noexpiry
- 导出该用户的Keytab文件:
sudo samba-tool domain exportkeytab user.keytab --principal=user@DOMAIN.LOCAL
- 把Keytab文件传到我的本地笔记本,然后生成Kerberos票据:
kinit -kt user.keytab 'user@DOMAIN.LOCAL'
遇到的问题
当我执行ssh -K UNINTENDED\\user@ubu1.domain.local -vv尝试免密登录时,系统还是弹出了密码输入提示。从debug日志可以看到,GSSAPI认证尝试了两次都失败了,然后自动跳到了password认证环节:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug1: Next authentication method: gssapi-with-mic debug2: we sent a gssapi-with-mic packet, wait for reply debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug2: we sent a gssapi-with-mic packet, wait for reply debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug2: we did not send a packet, disable method debug1: Next authentication method: password
同时,我在ubu1上用debug模式启动sshd(sudo /usr/sbin/sshd -d -e -p 22 -o LogLevel=DEBUG3),发现了一个关键错误:
Invalid user DOMAIN from 10.10.10.12 port 52520 debug1: PAM: initializing for "DOMAIN"
另外,我的Keytab文件内容看起来是正常的,执行klist -kte user.keytab输出如下:
Keytab name: FILE:user.keytab KVNO Timestamp Principal ---- ----------------- -------------------------------------------------------- 2 16/01/24 16:56:08 user@DOMAIN.LOCAL (aes256-cts-hmac-sha1-96) 2 16/01/24 16:56:08 user@DOMAIN.LOCAL (aes128-cts-hmac-sha1-96) 2 16/01/24 16:56:08 user@DOMAIN.LOCAL (DEPRECATED:arcfour-hmac)
求助需求
我已经查过一些类似的问题,但都没解决我的情况。因为我刚接触AD相关技术,可能有些配置步骤不符合标准,希望大家能帮我:
- 排查当前Kerberos+SSH认证失败的原因
- 提供Ubuntu域环境下,Kerberos+Keytab实现SSH免密登录的标准步骤
备注:内容来源于stack exchange,提问作者Kavishka Gihan
相关产品推荐
相关产品推荐

