Kerberos 인증을 사용할 때 kdm 및 ssh가 서로 다른 정규화된 도메인 이름을 감지합니다.

Kerberos 인증을 사용할 때 kdm 및 ssh가 서로 다른 정규화된 도메인 이름을 감지합니다.

제가 근무하는 회사에서 Kubuntu 12.04 Linux 워크스테이션에 대한 Kerberos 로그인 지원(kerberos를 제공하는 Windows AD 도메인)을 설정하려고 합니다.

거의 완벽하게 작동하지만 Kerberos가 컴퓨터 로그인(kdm을 통해)과 SSH에 동시에 작동하도록 할 수는 없습니다. 문제는 kdm이 호스트의 정규화된 도메인을 호스트 이름.도메인으로 감지하는 것 같습니다. ssh는 정규화된 도메인이 hostname.domain인 것으로 감지합니다(후행이 없다는 점에 유의하세요).

그 부족함이나 존재감. Kerberos 요청에 사용되는 도메인 끝에는 'Kerberos 데이터베이스에서 서버를 찾을 수 없습니다.' 오류와 함께 티켓 요청이 실패하게 만드는 데 충분합니다. 호스트 이름.도메인과 같은 완전한 호스트 이름을 갖도록 /etc/hosts를 업데이트하는 경우. kerberos를 사용하는 samba kdm 로그인을 사용하여 도메인에 가입하면 올바르게 작동하지만 ssh 로그인이 실패합니다. 호스트를 호스트 이름.도메인으로 포함하도록 /etc/hosts를 업데이트하면 kerberos를 사용하는 ssh 로그인은 작동하지만 kdm 로그인은 실패합니다.

두 서비스가 정규화된 도메인 이름을 다르게 감지하는 이유에 대해 약간 이해가 되지 않습니다. 광범위한 검색을 수행했지만 이 문제가 있는 다른 사람에 대한 참조나 서비스 중 하나를 강제하는 옵션을 찾지 못했습니다. 도메인 이름을 다르게 감지합니다.

기술적 세부 사항

사용 중인 Kubuntu 12.04는 제가 통제할 수 없는 기술적 요구 사항이므로 최신 배포판으로 업그레이드하는 것은 이 단계에서 옵션이 아닙니다.

pam_krb5는 사용 중인 pam DNS를 통해 Kerberos 인증을 제공하는 데 사용됩니다. Windows DNS가 아닙니다(다른 인프라에 대한 추가 작업이 완료될 때까지 DNS 서버를 전환할 수 없음). 따라서 도메인에 대한 Samba Kerberosied 조인에 사용되는 주요 세부 정보가 제공됩니다. 다음과 같은 /etc/hosts에서

127.0.0.1 hostname.domain.  hostname  localhost

(사용 중인 Unix DNS 서버에는 호스트에 대한 올바른 정방향 및 역방향 DNS 항목이 있습니다)

/etc/krb5.conf (대부분 도메인 세부 정보 및 서버가 입력된 distro 기본값)

[libdefaults]
default_realm = DOMAIN
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
# samba 3 didn't like the default enc type so overridden to ones it supported
default_tkt_enctypes = arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc
default_tgs_enctypes = arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc

[realms]
DOMAIN = {
kdc = dc01.domain
kdc = dc02.domain
admin_server = dc01.domain
}
[domain_realm]
.domain = DOMAIN

[login]
krb4_convert = true
krb4_get_tickets = false

/etc/samba/smb.conf (도메인 가입에만 사용됨)

[global]
security = ads
realm = WETAFX.CO.NZ
workgroup = WETAFX.CO.NZ

kerberos method = secrets and keytab

client signing = yes
client use spnego = yes

server string = %h server (Samba, Ubuntu)
dns proxy = no
log file = /var/log/samba/log.%m

max log size = 1000

syslog = 0

panic action = /usr/share/samba/panic-action %d

pamwise /etc/pam.d/kdm에는 다음과 같은 표준 pam_krb5.so 항목이 있는 common-pam 파일만 포함되어 있습니다.

auth sufficient pam_krb5.so minimum_uid=1000

기본적으로 pam_krb5.conf의 매뉴얼 페이지에서 직접 가져온 것입니다.

SSH 구성에는

 GSSAPIAuthentication yes

나머지는 표준 기본 우분투 SSH 구성 파일입니다.

서비스 간에 감지된 정규화된 도메인에서 이러한 불일치의 원인이 무엇인지 알려주셔서 감사합니다.

답변1

나는 여기서 무슨 일이 일어나고 있는지 알아냈다고 믿습니다. 호스트가 . 도메인 끝에서 이상한 동작이 발생하는 곳이었습니다.

일단 /etc/krb5.keytab을 삭제하고 . 그것의 끝에. 그 시점에서 kdm과 ssh는 모두 kerberos에서 올바르게 작동했습니다.

관련 정보