

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon EC2 Linux 인스턴스 도메인 조인 오류
<a name="ms_ad_troubleshooting_join_linux"></a>

다음은 Amazon EC2 Linux 인스턴스를 AWS Managed Microsoft AD 디렉터리에 조인할 때 발생할 수 있는 몇 가지 오류 메시지를 해결하는 데 도움이 될 수 있습니다.

## Linux 인스턴스가 도메인에 조인을 할 수 없거나, 인증을 할 수 없는 경우
<a name="unable-to-join"></a>

영역이 Microsoft Active Directory에서 작동하려면 먼저 DNS에서 Ubuntu 14.04, 16.04 및 18.04 인스턴스가 *반드시* 역방향 확인 가능해야 합니다. 그렇지 않으면 다음 두 가지 시나리오 중 하나가 발생할 수 있습니다.

### 시나리오 1: 영역에 아직 조인되지 않은 Ubuntu 인스턴스
<a name="ubuntu-not-yet-joined"></a>

영역을 조인하려고 시도 중인 Ubuntu 인스턴스의 경우 `sudo realm join` 명령을 실행하면 도메인을 조인하는 데 필요한 권한이 제공되지 않을 수 있으며 다음 오류가 표시될 수 있습니다.

\! Active Directory에 인증할 수 없음: SASL(-1): 일반 실패: GSSAPI 오류: 잘못된 이름이 제공되었음 (성공) adcli: EXAMPLE.COM 도메인에 연결할 수 없음: Active Directory에 인증할 수 없음: SASL(-1): 일반 실패: GSSAPI 오류: 잘못된 이름이 제공되었음 (성공) \! 도메인 영역에 조인할 권한 부족: 영역에 조인할 수 없음: 도메인에 조인할 권한 부족

### 시나리오 2: 영역에 조인된 Ubuntu 인스턴스
<a name="ubuntu-joined"></a>

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

### 차선책
<a name="ubuntu-scenarios-workaround"></a>

이러한 두 시나리오 모두에 대해 현재 권장되는 해결 방법은 아래와 같이 [libdefaults] 섹션의 `/etc/krb5.conf`에서 역방향 DNS를 비활성화하는 것입니다.

```
[libdefaults]
default_realm = EXAMPLE.COM
rdns = false
```

## 원활한 도메인 조인 시 단방향 신뢰 인증 문제
<a name="1-way-trust-auth-issues"></a>

 AWS 관리형 Microsoft AD와 온프레미스 Active Directory 간에 단방향 발신 신뢰가 설정된 경우 Winbind에서 신뢰할 수 있는 Active Directory 자격 증명을 사용하여 도메인에 조인된 Linux 인스턴스에 대해 인증을 시도할 때 인증 문제가 발생할 수 있습니다.

### 오류
<a name="1-way-trust-auth-issues-errors"></a>

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\*\*, 오류 메시지 내용: The object name is not found.

7월 31일 00:05:00 EC2Amaz-LSMWQT sshd [23832]: pam\_winbind (sshd:auth): 내부 모듈 오류(retval = PAM\_SYSTEM\_ERR(4), user = 'CORP\\user')

## 차선책
<a name="1-way-trust-auth-issues-workaround"></a>

이 문제를 해결하려면 다음과 같은 단계를 사용하여 PAM 모듈 구성 파일(`/etc/security/pam_winbind.conf`)에서 디렉티브를 주석 처리하거나 제거해야 합니다.

1. 텍스트 편집기에서 `/etc/security/pam_winbind.conf` 파일을 엽니다.

   ```
   sudo vim /etc/security/pam_winbind.conf
   ```

1. **krb5\_auth = yes**라는 디렉티브를 주석 처리하거나 삭제하세요.

   ```
   [global]
   
   cached_login = yes
   krb5_ccache_type = FILE
   #krb5_auth = yes
   ```

1. Winbind 서비스를 중지한 다음 다시 시작하세요.

   ```
   service winbind stop or systemctl stop winbind
   net cache flush 
   service winbind start or systemctl start winbind
   ```