기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Linux 도메인 조인 오류
다음은 AWS Managed Microsoft AD 디렉터리에 EC2 Linux 인스턴스를 조인할 때 직면할 수 있는 오류 메시지 중 일부를 해결하는 데 도움이 될 수 있습니다.
Linux 인스턴스가 도메인에 조인을 할 수 없거나, 인증을 할 수 없는 경우
영역이 Microsoft Active Directory에서 작동하려면 먼저 DNS에서 우분투 14.04, 16.04 및 18.04 인스턴스를 역해석할 수 있어야 합니다. 그렇지 않으면 다음 두 가지 시나리오 중 하나가 발생할 수 있습니다.
시나리오 1: 영역에 아직 조인되지 않은 Ubuntu 인스턴스
영역을 조인하려고 시도 중인 Ubuntu 인스턴스의 경우 sudo realm
join
명령을 실행하면 도메인을 조인하는 데 필요한 권한이 제공되지 않을 수 있으며 다음 오류가 표시될 수 있습니다.
! Active Directory에 인증할 수 없음: SASL(-1): 일반 실패: GSSAPI 오류: 잘못된 이름이 제공되었음 (성공) adcli: EXAMPLE.COM 도메인에 연결할 수 없음: Active Directory에 인증할 수 없음: SASL(-1): 일반 실패: GSSAPI 오류: 잘못된 이름이 제공되었음 (성공) ! 도메인 영역에 조인할 권한 부족: 영역에 조인할 수 없음: 도메인에 조인할 권한 부족
시나리오 2: 영역에 조인된 Ubuntu 인스턴스
이미 Microsoft Active Directory 도메인에 가입된 Ubuntu 인스턴스의 경우 도메인 자격 증명을 사용하여 인스턴스에 SSH로 연결하려고 하면 다음 오류가 발생하면서 실패할 수 있습니다.
$ ssh admin@EXAMPLE.COM@198.51.100
해당 자격 증명 없음: /Users/username/.ssh/id_ed25519: 해당 파일 또는 디렉터리 없음
admin@EXAMPLE.COM@198.51.100의 암호:
권한이 거부되었습니다. 다시 시도하세요.
admin@EXAMPLE.COM@198.51.100의 암호:
퍼블릭 키를 사용하여 인스턴스에 로그인하고 확인하면/var/log/auth.log
다음과 같이 사용자를 찾을 수 없다는 내용의 오류가 나타날 수 있습니다.
5월 12일 01:02:12 ip-192-0-2-0 sshd[2251]: pam_unix(sshd:auth): 인증 실패; logname= uid=0 euid=0 tty=ssh ruser= rhost=203.0.113.0
5월 12일 01:02:12 ip-192-0-2-0 sshd[2251]: pam_sss(sshd:auth): 인증 실패; logname= uid=0 euid=0 tty=ssh ruser= rhost=203.0.113.0 user=admin@EXAMPLE.COM
5월 12일 01:02:12 ip-192-0-2-0 sshd[2251]: pam_sss(sshd:auth): admin@EXAMPLE.COM 사용자에 대해 수신됨: 10 (기본 인증 모듈에서 알 수 없는 사용자)
5월 12일 01:02:14 ip-192-0-2-0 sshd[2251]: 203.0.113.0 포트 13344 ssh2에서 잘못된 사용자 admin@EXAMPLE.COM의 암호 실패
5월 12일 01:02:15 ip-192-0-2-0 sshd[2251]: Connection closed by 203.0.113.0에서 연결 닫힘 [preauth]
하지만 사용자에 대한 kinit
는 여전히 작동합니다. 이 예제를 참조하세요.
ubuntu@ip-192-0-2-0:~$ kinit admin@EXAMPLE.COM admin@EXAMPLE.COM의 암호: ubuntu@ip-192-0-2-0:~$ klist 티켓 캐시: FILE:/tmp/krb5cc_1000 기본 보안 주체: admin@EXAMPLE.COM
차선책
이러한 두 시나리오 모두에 대해 현재 권장되는 해결 방법은 아래와 같이 [libdefaults] 섹션의 /etc/krb5.conf
에서 역방향 DNS를 비활성화하는 것입니다.
[libdefaults] default_realm = EXAMPLE.COM rdns = false
원활한 도메인 조인 시 단방향 신뢰 인증 문제
관리형 AWS Microsoft AD와 온-프레미스 Active Directory 간에 단방향 발신 트러스트가 설정된 경우, Winbind에서 신뢰할 수 있는 Active Directory 자격 증명을 사용하여 도메인에 가입된 Linux 인스턴스에 대해 인증을 시도할 때 인증 문제가 발생할 수 있습니다.
오류
7월 31일 00:00:00 EC2Amaz-LSMWQT sshd [23832]: xxx.xxx.xxx.xxx 포트 18309 ssh2에서 user@corp.example.com 암호 실패
7월 31일 00:05:00 EC2Amaz-LSMWQT sshd [23832]: pam_winbind (sshd:auth): 암호 얻기 (0x00000390)
7월 31일 00:05:00 EC2Amaz-LSMWQT sshd [23832]: pam_winbind (sshd:auth): pam_get_item에서 암호를 반환함
7월 31일 00:05:00 EC2Amaz-LSMWQT sshd [23832]: pam_winbind (sshd:auth): 요청 wbcLogonUser 실패: WBC_ERR_AUTH_ERR, PAM 오류: PAM_SYSTEM_ERR (4), NTSTATUS: **NT_STATUS_OBJECT_NAME_NOT_FOUND**, 오류 메시지는 다음과 같습니다. 개체 이름은 다음과 같습니다. 찾을 수 없습니다.
7월 31일 00:05:00 EC2Amaz-LSMWQT sshd [23832]: pam_winbind (sshd:auth): 내부 모듈 오류(retval = PAM_SYSTEM_ERR(4), user = 'CORP\user')
차선책
이 문제를 해결하려면 다음과 같은 단계를 사용하여 PAM 모듈 구성 파일(/etc/security/pam_winbind.conf
)에서 디렉티브를 주석 처리하거나 제거해야 합니다.
-
텍스트 편집기에서
/etc/security/pam_winbind.conf
파일을 엽니다.sudo vim /etc/security/pam_winbind.conf
-
krb5_auth = yes라는 디렉티브를 주석 처리하거나 삭제하세요.
[global] cached_login = yes krb5_ccache_type = FILE #krb5_auth = yes
-
Winbind 서비스를 중지한 다음 다시 시작하세요.
service winbind stop or systemctl stop winbind net cache flush service winbind start or systemctl start winbind