

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

# 에 대한 상호 인증 활성화 AWS Client VPN
<a name="client-auth-mutual-enable"></a>

Linux/MacOS 또는 Windows의 Client VPN에서 상호 인증을 활성화할 수 있습니다.

------
#### [ Linux/macOS ]

다음 절차에서는 OpenVPN easy-rsa를 사용하여 서버 및 클라이언트 인증서와 키를 생성한 다음, 서버 인증서와 키를 ACM에 업로드합니다. 자세한 내용은 [Easy-RSA 3 Quickstart README](https://github.com/OpenVPN/easy-rsa/blob/v3.0.6/README.quickstart.md)를 참조하십시오.

**서버 및 클라이언트 인증서와 키를 생성하여 ACM에 업로드하려면**

1. OpenVPN easy-rsa 리포지토리를 로컬 컴퓨터에 복제하고 `easy-rsa/easyrsa3` 폴더로 이동하십시오.

   ```
   $ git clone https://github.com/OpenVPN/easy-rsa.git
   ```

   ```
   $ cd easy-rsa/easyrsa3
   ```

1. 새 PKI 환경을 시작합니다.

   ```
   $ ./easyrsa init-pki
   ```

1. 새 CA(인증 기관)를 빌드하려면 이 명령을 실행하고 표시되는 메시지를 따릅니다.

   ```
   $ ./easyrsa build-ca nopass
   ```

1. 서버 인증서 및 키를 생성합니다.

   ```
   $ ./easyrsa --san=DNS:server build-server-full server nopass
   ```

1. 클라이언트 인증서 및 키를 생성합니다.

   클라이언트를 구성할 때 필요하므로 클라이언트 인증서와 클라이언트 프라이빗 키를 저장해야 합니다.

   ```
   $ ./easyrsa build-client-full client1.domain.tld nopass
   ```

   클라이언트 인증서와 키가 필요한 각 클라이언트(최종 사용자)에 대해 이 단계를 선택적으로 반복할 수 있습니다.

1. 서버 인증서 및 키 그리고 클라이어트 인증서 및 키를 사용자 지정 폴더에 복사한 후 해당 폴더로 이동합니다.

   인증서 및 키를 복사하기 전에 `mkdir` 명령을 사용하여 사용자 지정 폴더를 만듭니다. 다음 예제에서는 홈 디렉터리에 사용자 지정 폴더를 만듭니다.

   ```
   $ mkdir ~/custom_folder/
   $ cp pki/ca.crt ~/custom_folder/
   $ cp pki/issued/server.crt ~/custom_folder/
   $ cp pki/private/server.key ~/custom_folder/
   $ cp pki/issued/client1.domain.tld.crt ~/custom_folder
   $ cp pki/private/client1.domain.tld.key ~/custom_folder/
   $ cd ~/custom_folder/
   ```

1. 서버 인증서 및 키와 클라이언트 인증서 및 키를 ACM에 업로드합니다. Client VPN 엔드포인트를 생성하려는 리전과 동일한 리전에 업로드해야 합니다. 다음 명령은 AWS CLI 를 사용하여 인증서를 업로드합니다. 대신 ACM 콘솔을 사용하여 인증서를 업로드하려면 *AWS Certificate Manager 사용 설명서*의 [인증서 가져오기](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html)를 참조하세요.

   ```
   $ aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt
   ```

   ```
   $ aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt
   ```

   클라이언트 인증서를 반드시 ACM에 업로드하지 않아도 됩니다. 서버 및 클라이언트 인증서가 동일한 인증 기관(CA)에 의해 발급된 경우, Client VPN 엔드포인트를 생성할 때 서버 및 클라이언트 모두에 대해 서버 인증서 ARN을 사용할 수 있습니다. 위에서 설명한 단계에서는 동일한 CA를 사용하여 두 가지 인증서를 모두 생성했습니다. 그러나 완전성을 위해 클라이언트 인증서를 업로드하는 단계가 포함됩니다.

------
#### [ Windows ]

다음 절차에서는 Easy-RSA 3.x 소프트웨어를 설치하고 이 소프트웨어를 사용하여 서버 및 클라이언트 인증서와 키를 생성합니다.

**서버 및 클라이언트 인증서와 키를 생성하여 ACM에 업로드하려면**

1. [EasyRSA 릴리스(EasyRSA releases)](https://github.com/OpenVPN/easy-rsa/releases) 페이지를 열고 사용 중인 Windows 버전에 해당하는 ZIP 파일을 다운로드한 후 압축을 풉니다.

1. 명령 프롬프트를 열고 `EasyRSA-3.x` 폴더가 추출된 위치로 이동합니다.

1. 다음 명령을 실행하여 EasyRSA 3 셸을 엽니다.

   ```
   C:\Program Files\EasyRSA-3.x> .\EasyRSA-Start.bat
   ```

1. 새 PKI 환경을 시작합니다.

   ```
   # ./easyrsa init-pki
   ```

1. 새 CA(인증 기관)를 빌드하려면 이 명령을 실행하고 표시되는 메시지를 따릅니다.

   ```
   # ./easyrsa build-ca nopass
   ```

1. 서버 인증서 및 키를 생성합니다.

   ```
   # ./easyrsa --san=DNS:server build-server-full server nopass
   ```

1. 클라이언트 인증서 및 키를 생성합니다.

   ```
   # ./easyrsa build-client-full client1.domain.tld nopass
   ```

   클라이언트 인증서와 키가 필요한 각 클라이언트(최종 사용자)에 대해 이 단계를 선택적으로 반복할 수 있습니다.

1. EasyRSA 3 셸을 종료합니다.

   ```
   # exit
   ```

1. 서버 인증서 및 키 그리고 클라이어트 인증서 및 키를 사용자 지정 폴더에 복사한 후 해당 폴더로 이동합니다.

   인증서 및 키를 복사하기 전에 `mkdir` 명령을 사용하여 사용자 지정 폴더를 만듭니다. 다음 예제에서는 C:\$1 드라이브에 사용자 지정 폴더를 만듭니다.

   ```
   C:\Program Files\EasyRSA-3.x> mkdir C:\custom_folder
   C:\Program Files\EasyRSA-3.x> copy pki\ca.crt C:\custom_folder
   C:\Program Files\EasyRSA-3.x> copy pki\issued\server.crt C:\custom_folder
   C:\Program Files\EasyRSA-3.x> copy pki\private\server.key C:\custom_folder
   C:\Program Files\EasyRSA-3.x> copy pki\issued\client1.domain.tld.crt C:\custom_folder
   C:\Program Files\EasyRSA-3.x> copy pki\private\client1.domain.tld.key C:\custom_folder
   C:\Program Files\EasyRSA-3.x> cd C:\custom_folder
   ```

1. 서버 인증서 및 키와 클라이언트 인증서 및 키를 ACM에 업로드합니다. Client VPN 엔드포인트를 생성하려는 리전과 동일한 리전에 업로드해야 합니다. 다음 명령은 AWS CLI 를 사용하여 인증서를 업로드합니다. 대신 ACM 콘솔을 사용하여 인증서를 업로드하려면 *AWS Certificate Manager 사용 설명서*의 [인증서 가져오기](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html)를 참조하세요.

   ```
   aws acm import-certificate \
       --certificate fileb://server.crt \ 
       --private-key fileb://server.key \
       --certificate-chain fileb://ca.crt
   ```

   ```
   aws acm import-certificate \
       --certificate fileb://client1.domain.tld.crt \
       --private-key fileb://client1.domain.tld.key \
       --certificate-chain fileb://ca.crt
   ```

   클라이언트 인증서를 반드시 ACM에 업로드하지 않아도 됩니다. 서버 및 클라이언트 인증서가 동일한 인증 기관(CA)에 의해 발급된 경우, Client VPN 엔드포인트를 생성할 때 서버 및 클라이언트 모두에 대해 서버 인증서 ARN을 사용할 수 있습니다. 위에서 설명한 단계에서는 동일한 CA를 사용하여 두 가지 인증서를 모두 생성했습니다. 그러나 완전성을 위해 클라이언트 인증서를 업로드하는 단계가 포함됩니다.

------