security / sssd를 사용하여 Active Directory를 FreeBSD 10.0과 통합하는 방법은 무엇입니까?


답변:


14

모든 것이 즉시 작동하도록하기 위해 까다로운 고려 사항이 있습니다. FreeBSD는 현재 sssd버전 1.9.6 만 지원합니다 . 따라서 Enterprise Principal Names는 지원되지 않습니다.

일치하지 않는 UPN을 가진 도메인이있는 경우 프로세스 중에 Kerberos 인증이 실패하므로 Kerberos 인증이 Enterprise Principal Names를 Kerberos로 지원하더라도 Kerberos 인증이 실패하므로이 sssd경우를 처리 할 수 ​​없습니다.

따라서 실제 버전 sssd에서는 사용자 도메인 이름이 동일한 도메인 이름 내에 있도록 제한됩니다. 예를 들면 다음과 같습니다.

Domain Name = example.com
NetBIOS Name = EXAMPLE
User Principal Name:
username@example.com sAMAccountName: username

이를 알면 FreeBSD의 AD에서 사용자를 성공적으로 인증하는 단계를 설명 할 수 있습니다.

1. Kerberos 구성

/etc/krb5.conf다음 내용으로 파일 을 작성하십시오 .

[libdefaults]
    default_realm = EXAMPLE.COM
    dns_lookup_realm = true
    dns_lookup_kdc = true
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = yes

2. Samba 4.1을 설치하고 도메인에 가입하도록 구성하십시오.

삼바 4.1 설치 :

$ pkg install samba41

/usr/local/etc/smb4.conf다음 내용으로 파일 을 작성하십시오 .

[global]
    security = ads
    realm = EXAMPLE.COM
    workgroup = EXAMPLE

    kerberos method = secrets and keytab

    client signing = yes
    client use spnego = yes
    log file = /var/log/samba/%m.log

관리자 Kerberos 티켓을 요청하십시오.

$ kinit Administrator

그런 다음 도메인에 가입하고 키탭을 만듭니다.

$ net ads join createupn=host/server-hostname.example.com@EXAMPLE.COM -k
$ net ads keytab create -k

3. Kerberos를 지원하는 sssd 패키지 및 Cyrus SASL 설치

필수 패키지를 설치하십시오.

$ pkg install sssd cyrus-sasl-gssapi

/usr/local/etc/sssd/sssd.conf이 설정과 일치 하도록 파일 을 편집하십시오 .

[sssd]
    config_file_version = 2
    services = nss, pam
    domains = example.com

[nss]

[pam]

[domain/example.com]
    # Uncomment if you need offline logins
    #cache_credentials = true

    id_provider = ad
    auth_provider = ad
    access_provider = ad
    chpass_provider = ad

    # Comment out if the users have the shell and home dir set on the AD side
    default_shell = /bin/tcsh
    fallback_homedir = /home/%u

    # Uncomment and adjust if the default principal SHORTNAME$@REALM is not available
    #ldap_sasl_mech = GSSAPI
    #ldap_sasl_authid = SERVER-HOSTNAME$@EXAMPLE.COM

4. nsswitch.conf에 sssd 지원 추가

/etc/nsswitch.conf이 설정과 일치 하도록 파일 을 편집하십시오 .

group: files sss
passwd: files sss

5. sssd 인증을 허용하고 홈 디렉토리 생성을 처리하도록 PAM 구성

홈 디렉토리 작성을위한 선택적 패키지를 설치하십시오.

$ pkg install pam_mkhomedir

PAM이 설정과 일치 하도록 필요한 영역을 수정하십시오 .

auth            sufficient      /usr/local/lib/pam_sss.so
account         required        /usr/local/lib/pam_sss.so        ignore_unknown_user
session         required        /usr/local/lib/pam_mkhomedir.so  mode=0700
session         optional        /usr/local/lib/pam_sss.so
password        sufficient      /usr/local/lib/pam_sss.so        use_authtok

6. SASL 지원 OpenLDAP 클라이언트로 전환

$ pkg remove -f openldap-client
$ pkg install openldap-sasl-client

7. 마지막으로 모든 것이 작동하는지 확인

$ getent passwd <username>

openldap-sasl-client를 설치하면 pkg가 sssd, ldb 및 samba44를 제거하는 FreeBSD 10.3에 대한 솔루션이 있습니까? 나는 당신의 대답을 사용할 때 너무 가깝다고 생각하지만이 부분에 붙어 있습니다.
bgStack15

2

어떤 Kerberos를 사용하고 있습니까? MIT의 내장 또는 보안 / krb5?

sssd를 설치할 때 현재 FreeBSD에서 실험적인 것으로 간주되는 security / krb5를 설치해야합니다. 따라서이 질문.

'getent'명령을 실행할 때 AD 사용자 / 그룹을 얻는 데 운이 없습니다. NETBIOS 이름이 도메인 이름과 다르기 때문일 수 있습니다. 예를 들어 도메인 이름은 dawnsign.com이고 NETBIOS 이름은 DSP입니다.

pam.d 로그인 모듈 만 구성했습니다. 성공적인 인증을 위해 다른 pam 모듈을 편집해야합니까?

추가 정보가 있으면 대단히 감사하겠습니다!


기본에서 Heimdal Kerberos를 사용하고 있습니다. MIT Kerberos 포트를 설치하지 않았습니다.
Vinícius Ferrão

1

포트에서 samba4를 다시 컴파일하면 sssd가 없어도 Linux와 같은 winbind 인증을 사용할 수 있습니다. sasl ldap을 활성화 한 후 포트에서 samba4를 간단히 다시 컴파일

    pkg remove samba41 
    pkg install cyrus-sasl-gssapi samba36-libsmbclient pam_mkhomedir ldb 
    pkg remove -f openldap-client 
    pkg install openldap-sasl-client 
    cd /usr/ports/security/sssd && make install

이것은 필요한 모든 지원 (gssapi, ldap, kerberos)으로 삼바를 다시 컴파일 한 다음 다음과 같이 nsswitch.conf를 편집합니다

passwd: files winbind
group: files winbind

네이티브 Kerberos를 사용할 수 있는데 왜 winbind와 samba를 사용합니까?
Vinícius Ferrão

Active Directory 사용자의 경우, Kerberos는 암호 및 SSO입니다
elbarna

0

안녕하세요.

이것은 sssd v1.11.7 사용에 관한 작은 업데이트입니다.

"id_provider = ad"를 사용하고 sssd 로그 파일에 다음 오류가 표시되는 경우 :

/var/log/sssd/sssd_example.com.log
(Sun Oct  5 18:41:37 2014) [sssd[be[alidaho.com]]] [sasl_bind_send] (0x0020): ldap_sasl_bind failed (-12)[Not Supported]
(Sun Oct  5 18:41:37 2014) [sssd[be[alidaho.com]]] [sasl_bind_send] (0x0080): Extended failure message: [unknown error]

다음 절차를 사용하여이 문제를 해결하고 AD 통합이 올바르게 작동하도록 할 수 있습니다. 이제 Samba 지원으로 sssd v1.11.7을 빌드하십시오 .src sssd에서 빌드해야하므로 libsasl2와 연결됩니다.

​pkg remove samba41
pkg install cyrus-sasl-gssapi samba36-libsmbclient pam_mkhomedir ldb
pkg remove -f openldap-client
pkg install openldap-sasl-client
cd /usr/ports/security/sssd && make install

samba41를 제거하는 목적은 무엇입니까? samba36에서만 작동합니까? 나는이 정확한 문제를 겪고 있지만 필요하지 않으면 3.6으로 되돌리고 싶지 않습니다.
MikeyB

samba41 바이너리를 제거한 다음 포트에서 samba41을 다시 컴파일하십시오 (sssd에서 요청). 필자의 경우 (신규 10.1 설치) samba41 바이너리가 작동하지 않고, 포트로 컴파일 된 samba41이 완벽하게 작동합니다.
elbarna

0

이 글을 쓰는 시점에 SSSD를 통한 이러한 FreeBSD 버전과의 AD 통합에 대한 내 가이드는 다음과 같습니다 (2017 년 6 월).

  • FreeBSD 10.3 및 11.0 (10.3-RELEASE-p18 & 11.0-RELEASE-p9)
  • 설치 (및 재미있는 패키징 및 종속성 문제)

    • 필요한 패키지는 Heimdal Kerberos와 호환되지 않는 것 같습니다. 따라서 MIT Kerberos 플래그를 활성화하여 설치하고 컴파일해야합니다. 이것은 실제 호환성 문제보다 패키징 종속성 문제 일 가능성이 큽니다.
    • Heimdal은 기본 시스템과 함께 설치되므로 MIT Kerberos를 설치하면 하나는에 /usr/bin, 다른 하나는에 두 개의 Kerberos 명령 세트를 남깁니다 /usr/local/bin. 기본 시스템 파일이 패키지에없는 것 같으므로 Heimdal KRB를 제거 할 수 없습니다. 알아야 할 것.
    • 다양한 패키지의 선행 종속성 (굵은 기울임 꼴로 흥미로운 뎁은 굵은 기울임 꼴로 표시됨) :

      • net-mgmt/adcli:net/openldap24-sasl-client
      • security/cyrus-sasl2-gssapi: security/cyrus-sasl2
      • net/openldap24-sasl-client: security/cyrus-sasl2
      • security/sssd: security/nss
      • security/sssd:security/krb5
      • security/sssd: security/cyrus-sasl2
      • security/sssd:net/openldap24-client
      • security/sssd: lang/python27
      • security/sssd: lang/python2
      • security/sssd: dns/c-ares
      • security/sssd: devel/tevent
      • security/sssd: devel/talloc
      • security/sssd: devel/popt
      • security/sssd: devel/pcre
      • security/sssd: devel/libunistring
      • security/sssd: devel/libinotify
      • security/sssd: devel/gettext-runtime
      • security/sssd: devel/ding-libs
      • security/sssd: devel/dbus
      • security/sssd: databases/tdb
      • security/sssd: databases/ldb
    • 다양한 패키지의 역 종속성 :

      • net/openldap24-sasl-client: sysutils/msktutil
      • net/openldap24-sasl-client: net/nss-pam-ldapd-sasl
      • net/openldap24-sasl-client: net-mgmt/adcli
        • 우리가 보는 것처럼 sssd자신을 우리가 기본 패키지로는 Heimdal을에도 불구하고 MIT Kerberos를 필요
        • adcli욕구 openldap-sasl-client, 그러나 (의 하위 종속을 포함한 다른 패키지 sssd에서 풀) openldap-client(어떤 바보 이유)이 SASL 클라이언트와 뮤텍스입니다. 이로 인해 최소한의 바이너리 패키지가 있어도 설치가 약간 어려워집니다.
        • 이러한 종속성은 바이너리 저장소 패키지와 패키지가 포트 트리에 빌드 된 경우 모두에 존재합니다. 이것은 우리가 필요로하는 모든 것을 얻기 위해 성가신 특정 설치 방법이 필요합니다 (아래에 설명되어 있음).
    • 이 글을 쓰는 시점에서 FreeBSD 용 SSSD 용 바이너리 pkg는 SSSD에서 AD 지원을 포함하지 않습니다.

      • SSSD의 포트 버전은 적절한 (make config) 옵션이 활성화 된 상태로 구축해야합니다.
        • SMB
      • SSSD는 또한 제대로 작동하기 위해 openldap-sasl-client가 필요할 때 openldap-client를 가져 오기를 원합니다.
    • pkg 이진 버전이 adcli존재하지만이 글을 쓰는 시점에는 작동하지 않습니다.
      • 다시, 포트 버전은 적절한 옵션을 활성화하여 컴파일되었습니다 :
        • GSSAPI_MIT
    • cyrus-sasl-gssapi 필요하지만 pkg 이진 버전이 작동하지 않으며 SSSD를 제거하는 이상한 종속성 문제가 있습니다.
      • MIT-KRB5 옵션이 활성화 된 포트에서 빌드하십시오.
        • GSSAPI_MIT
    • openldap-sasl-client 기능에 필요하지만 SSSD는 비 SASL 버전의 openldap을 가져 오려고합니다.
      • 이 작업을하려면
        • 포트에서 선택한 옵션 ( )으로 구성 openldap-sasl-client하십시오 .GSSAPImake config
        • 포트를 만들려면 빌드하십시오.
        • 설치하기 전에 pkg remove –f openldap-client
          • 이렇게하면 openldap-clientSSSD와 같은 다른 패키지를 자동으로 제거 하지 않고 제거 하고 SASL 버전을 설치할 수 있습니다
        • 에 대한 설치를 수행 openldap-sasl-client
          • 시스템에 설치합니다
    • 이것은 AD 기능을 가진 기능적인 SSSD에 필요한 것을 제공 할 것입니다.
    • 포트에서 SSSD를 컴파일하면 많은 종속성이 발생하여 빌드가 발생하고 구성 옵션을 선택해야합니다.
      • pkg install sssd를 사용하여 이진 패키지를 먼저 설치 한 다음이 패키지를 제거하는 것이 좋습니다. pkg remove –f sssd
        • 이로 인해 SSSD를 가져와야하는 대부분의 바이너리 패키지가 포트에 의존하게되므로 시간이 많이 소요됩니다.
      • 제거한 후에는 위에서 언급 한 옵션이 활성화 된 포트에서 SSSD를 다시 설치하면 위에서 언급 한 4 가지 패키지 만 다시 빌드하면 작동합니다.
    • (선택 사항) 모든 것이 작동하고 확인되면 pkg create적절한 옵션을 활성화하여 4 가지 패키지의 이진 패키지를 만들고 모든 시스템의 포트에 빌드하는 대신 사용할 수 있습니다. 바이너리 설치는 포트 빌드 프로세스와 유사한 패턴을 따릅니다.

      • pkg install sssd-1.11.7_8.txz
        • 물론 버전이 다를 수 있습니다
        • SSSD 용 바이너리 패키지를 설치하고 FreeBSD 저장소에서 필요한 모든 것을 가져옵니다.
      • pkg add openldap 패키지를 마지막에 저장하는 다른 패키지 (설치하지 않고 추가)
      • 추가하기 전에 openldap-sasl-client할 일 a를pkg remove –f openldap-client
        • 이것은 비 SASL 버전을 제거하고 버전을 설치할 수있게합니다.
      • pkg add openldap-sasl-client-2.4.44.txz
        • 다시 말하지만, 버전이 다를 수 있습니다
      • 필요한 패키지가 설치되어 있어야합니다.
      • 를 수행하기 전에 SSSD 바이너리에 대한 메타 데이터를 변경하는 것이 가능 pkg create에 대한 종속성을 대체 openldap-client와 함께 openldap-sasl-client이 제거 / 다시 설치해야 할 필요성을 제거합니다. 나는 이것을 할 시간이 없었습니다.
        • 또한 SSSD의 하위 종속성이 있어도 가져 오므로 openldap-client이를 수정해야합니다.
      • 이 모든 노트는 이 글을 쓰는 시점 에서 현재 포트 트리에있는이 패키지의 버전 과 관련되어 있습니다. FreeBSD가 포트 트리와 바이너리를 업데이트함에 따라이 모든 것이 바뀔 수 있습니다. 언젠가 우리는 AD 기능을 위해 구성된 적절한 옵션을 사용하여 올바른 종속성을 모두 얻는 바이너리 버전의 모든 것을 제공 할 것입니다.
    • Kerberos 구성 :

      • 샘플 /etc/krb5.conf 파일 :
[libdefaults]
   default_realm = MYDOMAIN.NET
   전달 가능 = true
# DNS SRV 레코드이므로 일반적으로 AD 환경에 필요한 모든 것
#는 AD / KRB 서버 / 서비스를 식별합니다. 당신이 경우 코멘트
# AD 서버를 수동으로 가리키고 싶습니다
dns_lookup_kdc = true
[영역]
   MYDOMAIN.NET = {
# DNS에있는 것과 다른 AD 서버를 수동으로 가리키는 경우
# admin_server = adserver.mydomain.net
# kdc = adserver.mydomain.net
   }
[도메인 _ 영역]
   mydomain.net = MYDOMAIN.NET
   .mydomain.net = MYDOMAIN.NET
  • (톱니 모양)
    • SSSD 구성 :
      • 이 예에서는 사용자 및 그룹에 대한 AD의 POSIX 특성을 가정합니다. 일반적으로 이미 UID 및 GID를 설정 한 기존 환경을 대체 할 때 필요합니다.
      • 샘플 /usr/local/etc/sssd/sssd.conf 파일 :
[sssd]
config_file_version = 2
도메인 = MYDOMAIN.NET
서비스 = nss, pam, pac
fallback_homedir = / home / % u

[도메인 /MYDOMAIN.NET]
id_provider = 광고
access_provider = 광고
auth_provider = 광고
chpass_provider = 광고
# AD POSIX 속성 사용, 자동 생성을 사용중인 경우 주석 처리
# UID 및 GID.
ldap_id_mapping = 거짓
cache_credentials = true
ad_server = adserver.mydomain.net
# bash가 없거나 AD 계정의 loginShell에있는 것이 있으면
# 속성이 설치됨
override_shell = / bin / tcsh
  • (톱니 모양)
    • PAM 구성 :
      • FreeBSD의 PAM 구성은 OpenPAM이 작동하는 방식 때문에 약간 까다 롭습니다. 자세한 내용은 다루지 않겠지 만 SSSD에 pam_sss를 사용하고 작동하도록하고 passwd 로그인이 작동하도록하려면 pam_unix를 파일에 두 번 넣어야합니다. 내가 이해 한 바에 따르면, 이것은 두 번째 pam_unix 모듈을 통과해야하는 "뒤에서"수행되는 보조 검사와 관련이 있습니다.
        • 다음은 /etc/pam.dSSSD를 FreeBSD와 함께 사용하기 위해 수정해야 할 파일 목록입니다 .

/etc/pam.d/sshd :

#
# FreeBSD : releng / 11.0 / etc / pam.d / sshd 197769 2009-10-05 09 : 28 : 54Z des $
#
"sshd"서비스를위한 PAM 구성
#

# 인증
충분한 pam_opie.so no_warn no_fake_prompts 인증
인증 요구 사항 pam_opieaccess.so no_warn allow_local
#auth enough pam_krb5.so no_warn try_first_pass
#auth 충분 pam_ssh.so no_warn try_first_pass
충분한 pam_unix.auth no_warn try_first_pass nullok 인증
충분한 pam_sss를 인증하십시오.
인증 필수 pam_unix.so no_warn use_first_pass

# 계정
필요한 계정 pam_nologin.so
# 계정 필요 pam_krb5.so
필요한 계정 pam_login_access.so
필요한 계정 pam_unix.so
충분한 pam_sss.so 계정

# 세션
#session 선택 사항 pam_ssh.so want_agent
세션 옵션 pam_sss.so
필요한 세션 pam_mkhomedir.so mode = 0700
필요한 세션 pam_permit.so

# 비밀번호
#password enough pam_krb5.so no_warn try_first_pass
#password enough pam_unix.so try_first_pass use_authtok nullok
충분한 암호 pam_unix.so try_first_pass use_authtok
충분한 암호 pam_sss.so use_authtok

/etc/pam.d/system :

#
# FreeBSD : releng / 11.0 / etc / pam.d / system 197769 2009-10-05 09 : 28 : 54Z des $
#
# 시스템 전체 기본값
#

# 인증
충분한 pam_opie.so no_warn no_fake_prompts 인증
인증 요구 사항 pam_opieaccess.so no_warn allow_local
#auth enough pam_krb5.so no_warn try_first_pass
#auth 충분 pam_ssh.so no_warn try_first_pass
#auth required pam_unix.so no_warn try_first_pass nullok
충분한 pam_unix.auth no_warn try_first_pass 인증
충분한 pam_sss를 인증하십시오.
인증 필수 pam_deny.so

# 계정
# 계정 필요 pam_krb5.so
필요한 계정 pam_login_access.so
필요한 계정 pam_unix.so
충분한 pam_sss.so 계정

# 세션
#session 선택 사항 pam_ssh.so want_agent
필요한 세션 pam_lastlog.so no_fail
세션 옵션 pam_sss.so
필요한 세션 pam_mkhomedir.so mode = 0700

# 비밀번호
#password enough pam_krb5.so no_warn try_first_pass
#password required pam_unix.so no_warn try_first_pass
충분한 암호 pam_unix.so no_warn try_first_pass nullok use_authtok
충분한 암호 pam_sss.so use_authtok
#password required pam_deny.so

/etc/pam.d/su :

#
# FreeBSD : releng / 11.0 / etc / pam.d / su 219663 2011-03-15 10 : 13 : 35Z des $
#
"su"서비스를위한 PAM 구성
#

# 인증
충분한 pam_rootok.so no_warn 인증
충분한 pam_self를 인증하십시오.
인증 요구 사항 pam_group.so no_warn group = wheel root_only fail_safe ruser
인증은 system.dist를 포함

# 계정
계정은 system.dist를 포함합니다

# 세션
필요한 세션 pam_permit.so
  • (톱니 모양)

    • 노트:
      • system.dist스톡 /etc/pam.d/system파일 의 사본입니다 . /etc/pam.d/susu 명령과 관련된 문제를 방지하기 위해 위 파일에 포함되어 있습니다 .
      • su번 루트 su가 인증 될 필요가없고 계정 정보가 SSSD를 통해 이름 서비스 스위치를 통해 가져 오기 때문에 하나는 여전히 루트로 AD 계정에 액세스 할 수 있습니다.
      • 루트가 아닌 한 사용자에서 다른 사용자로 전환하려면 sudo보안상의 이유로 만 사용해야 합니다.
      • 또한 ksu사용자 A에서 사용자 B로 전환하는 데 사용할 수 있습니다.
        • Heimdal의 ksu(in /usr/bin)에는 기본적으로 SUID가 설정되어 있지 않습니다
          • Heimdal을 ksu작동 시키려면chmod u+s /usr/bin/ksu
        • MIT Kerberos (에 krb5설치된 패키지 /usr/local/bin)는 설치시 SUID입니다.
      • Heimdal은 기본 패키지의 일부이므로 두 Kerberos 바이너리 세트가 모두 있습니다.
        • /usr/local/bin이전 경로 /usr/bin등 으로 기본 경로를 조정할 수 있습니다.
      • ksu 대상 사용자의 AD / Kerberos 비밀번호를 묻는 메시지를 표시합니다.
      • passwdpam_sss.sopasswd PAM 파일에 추가하더라도 AD / Kerberos 비밀번호를 변경하는 데 작동하지 않습니다 . passwd바이너리는 로컬 및 NIS 사용을 지원하는 kpasswd광고를 암호를 변경 / Kerberos 서버 (들).
    • 이름 서비스 스위치 :

      • /etc/nsswitch.conf파일은 passwd 및 그룹에 대한 SSS 서비스를 사용하도록 구성해야합니다. 예:
        • group: files sss
        • passwd: files sss
    • 도메인 가입 :

      • 리눅스 박스에 가입하기위한 * nixs에는 두 가지 주요 도구가 있습니다
        • adcli
          • 이것은 내가 선호하는 도구입니다. 잘 작동하며 모든 것을 단일 명령 줄에서 수행 할 수 있습니다. 자격 증명은 비 대화식으로 제공 될 수 있습니다 (stdin 등을 통해).
          • kinit사용하기 전에 수행 할 필요가 없으며 제공된 자격 증명을 기반으로합니다.
            • 예:
              • adcli join -D mydomain.net -U Administrator--show-details –v
              • adcli join –H adclient.mydomain.net -D mydomain.net -U Administrator --show-details -v
                • 유틸리티가 항상 FQDN을 올바르게 파악하지는 않으므로이 양식을 사용하는 것이 좋습니다. 호스트의 정방향 및 역방향 DNS와 일치하는 FQDN을 제공하면 원칙이 올바르게 생성됩니다. 유틸리티가 잘못된 호스트 이름 (예 : DNS 도메인을 포함하지 않음)을 사용하는 경우 일부 서비스 주체가 생성되지 않으며 호스트에 대한 SSH와 같은 항목이 실패 할 수 있습니다.
        • 삼바 net유틸리티
          • net유틸리티는 Samba 제품군의 일부입니다.
          • 이 유틸리티를 사용하려면 smb.conf구성 파일 에서 도메인 세부 정보를 설정해야 하므로 특히 비 대화식으로 사용하기가 더 어렵고 불편합니다.
          • 또한이 도구를 사용하려면 Kerberos 티켓을 사용하기 전에 Kerberos 티켓을 얻어야합니다 kinit. 다시 말하지만, 이는 더 불편하고 스크립트에서 비 대화식으로 사용하기가 조금 더 어렵습니다. 한 단계 대신 두 단계가 있기 때문입니다.
    • SSHD 고려 사항 :

      • SSHD가 AD 및 SSSD와 작동하도록하는 것은 일반적으로 매우 간단합니다.
      • 다음 옵션을 추가해야합니다 /etc/ssh/sshd_config
        • GSSAPIAuthentication yes
          • SSHD 용 GSS API 인증을 켭니다. 이로 인해 SSHD가 AD KDC에 대해 인증됩니다.
        • PasswordAuthentication yes
          • 사용자가 비밀번호로 로그인 할 수 있도록합니다. 사용자가 로그인시 KRB5 티켓을 받으려면 필수입니다. 이 기능을 사용하지 않으면 시스템이 KDC에서 전송 한 TGT를 해독 할 수 없습니다.
        • ChallengeResponseAuthentication yes
          • FreeBSD의 경우이 방법이 가장 효과적입니다.
            • PasswordAuthentication no이 옵션을 사용할 때 구성하십시오 .
            • 이것은 로그인 할 때 만료 된 비밀번호를 변경하는 FreeBSD에서 찾은 유일한 방법입니다. 다른 것을 사용하는 경우 /bin/passwdNIS 및 로컬 passwd 파일을 지원하지 않는을 호출 합니다.
        • GSSAPICleanupCredentials yes
          • (선택 사항) kdestroy로그 아웃시 수행
        • GSSAPIStrictAcceptorCheck no
          • (선택 사항)이 옵션은 SSHD가 자체 호스트 이름에 대해 혼동되거나 멀티 홈 등이 있거나 다른 서비스 주체를 사용하여 KDC와 통신하는 경우에 종종 필요합니다. 일반적으로 SSHD는 서비스 주체 host/<FQDN>@REALM를 사용하여 KDC와 통신하지만 때때로 잘못됩니다 (예 : 호스트 이름이 SSH 서버의 DNS 이름과 일치하지 않는 경우). 이 옵션을 사용하면 SSHD가 /etc/krb5.keytab파일 에서 주체를 사용할 수 있습니다.host/<FQDN>@REALM
      • 사용하는 옵션 조합에 따라 ssh -K <ip>비밀번호를 묻지 않고 작업 하기 위해 호스트의 IPv4 및 IPv6 주소에 대한 KDC에 호스트 프린시 펄 을 추가하거나 필요로하지 않을 수도 있습니다 ( '키 니트'를 이미 수행 한 경우, 물론이야).

이것이 사람들에게 도움이되기를 바랍니다. 이것은 기본적으로 SSBSD 및 AD 서버로 FBSD10 및 11을 사용하려고 시도하면서 내 노트에서 컴파일되었습니다. 내가 만난 가장 큰 문제는 PAM 구성이었습니다.이 구성 요소는 Linux (openpam의 버그?) 및 패키징 / 종속성 에서처럼 작동하지 않았습니다. 다른 방법이 있으면 언제든지 의견을 말하십시오. 특히 Vinícius Ferrão와 같은 내장 Heimdal Kerberos로 작업하면 그의 답변에서하는 것처럼 보입니다. SSSD는 어쨌든 MIT krb5 패키지를 가져 오는 것을 주장하기 때문에 시도하지 않았습니다.
jbgeek

pam.d 항목을 업데이트했습니다. openpam wonkyness의 이유를 발견하고 이에 대한 수정 사항을 찾았습니다 (pam_unix 모듈을 두 번 사용하면 로그인에 필요한 "숨겨진"테스트를 통과 함).
jbgeek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.