

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

# 서비스 관리 사용자를 위한 SSH 키 생성
<a name="sshkeygen"></a>

서버를 설정해 서비스 관리형 인증 메서드를 사용하는 사용자를 인증할 수 있습니다. 이때 사용자 이름과 SSH 키는 서비스 내에 보관됩니다. 사용자의 퍼블릭 SSH 키는 서버에 사용자의 속성으로 업로드됩니다. 이 키는 서버에서 표준 키 기반 인증 프로세스의 일부로 사용됩니다. 각 사용자는 파일에 여러 퍼블릭 SSH 키를 개별 서버와 함께 보유할 수 있습니다. 사용자당 저장할 수 있는 키 수에 대한 제한은 *Amazon Web Services 일반 참조*의 [AWS Transfer Family 엔드포인트 및 할당량](https://docs.aws.amazon.com//general/latest/gr/transfer-service.html)을 참조하세요. 

서비스 관리형 인증 방법 대신 사용자 지정 자격 증명 공급자 또는를 사용하여 사용자를 인증할 수 있습니다 AWS Directory Service for Microsoft Active Directory. 자세한 내용은 [사용자 지정 자격 증명 공급자와 작업](custom-idp-intro.md) 또는 [Microsoft Active Directory용 AWS Directory Service 사용](directory-services-users.md)를 참조하세요.

서버는 한 가지 방법 (서비스 관리형, 디렉터리 서비스 또는 맞춤 ID 제공자)을 사용해서만 사용자를 인증할 수 있으며, 서버를 만든 후에는 이 방법을 변경할 수 없습니다.

**Topics**
+ [macOS, Linux 또는 Unix에서 SSH 키 생성](macOS-linux-unix-ssh.md)
+ [Microsoft Windows에서 SSH 키 생성](windows-ssh.md)
+ [SSH2 키를 SSH 퍼블릭 키 형식으로 변환](convert-ssh2-public-key.md)

# macOS, Linux 또는 Unix에서 SSH 키 생성
<a name="macOS-linux-unix-ssh"></a>

macOS, Linux 또는 Unix 작동 시스템에서는 `ssh-keygen` 명령을 사용하여 SSH 퍼블릭 키와 키 쌍이라고도 하는 SSH 프라이빗 키를 생성합니다.

**참고**  
다음 예에서는 패스프레이즈를 지정하지 않았는데, 이 경우 도구에서 패스프레이즈를 입력한 다음 반복하여 확인하도록 요청합니다. 패스프레이즈를 만들면 프라이빗 키를 더 잘 보호할 수 있고 전반적인 시스템 보안도 향상될 수 있습니다. 패스프레이즈는 복구할 수 없습니다: 암호를 잊은 경우 새 키를 생성해야 합니다.  
그러나 Transfer Family 서버는 시작 시 패스프레이즈를 요청할 수 없으므로 서버 호스트 키를 생성하는 경우 명령에서 `-N ""` 옵션을 지정하거나 메시지가 표시되면 **Enter**을 두 번 눌러 빈 암호를 *지정해야* 합니다.

**macOS, Linux 또는 Unix 작동 시스템에서 SSH 키를 만들려면**

1. macOS, Linux 또는 Unix 작동 시스템에서는 명령 터미널을 엽니다.

1. AWS Transfer Family 는 RSA, ECDSA 및 ED25519-formatted의 키를 허용합니다. 생성하려는 키 쌍의 타입에 따라 적절한 명령을 선택합니다.

   **팁**: `key_name`를 SSH 키 페어 파일의 실제 이름으로 바꿉니다.
   + RSA 4096비트 키 쌍 생성:

     ```
     ssh-keygen -t rsa -b 4096 -f key_name
     ```
   + ECDSA 521비트 키 쌍을 생성하려면 (ECDSA의 비트 크기는 256, 384, 521입니다):

     ```
     ssh-keygen -t ecdsa -b 521 -f key_name
     ```
   + ED25519 키 쌍을 생성하려면:

     ```
     ssh-keygen -t ed25519 -f key_name
     ```

   다음은 `ssh-keygen` 출력의 예입니다.

   ```
   ssh-keygen -t rsa -b 4096 -f key_name
   Generating public/private rsa key pair.
   
   Enter passphrase (empty for no passphrase): 
   Enter same passphrase again:
   Your identification has been saved in key_name.
   Your public key has been saved in key_name.pub.
   The key fingerprint is:
   SHA256:8tDDwPmanTFcEzjTwPGETVWOGW1nVz+gtCCE8hL7PrQ bob.amazon.com
   The key's randomart image is:
   +---[RSA 4096]----+
   |    . ....E      |
   | .   = ...       |
   |. . . = ..o      |
   | . o +  oo =     |
   |  + =  .S.= *    |
   | . o o ..B + o   |
   |     .o.+.* .    |
   |     =o*+*.      |
   |    ..*o*+.      |
   +----[SHA256]-----+
   ```

   **팁**: 위와 같이 `ssh-keygen` 명령을 실행하면 퍼블릭 키와 프라이빗 키가 현재 디렉터리의 파일로 생성됩니다.

   이제 SSH 키 페어를 사용할 준비가 되었습니다. 3단계와 4단계에 따라 서비스 관리형 사용자의 SSH 퍼블릭 키를 저장합니다. 이러한 사용자는 Transfer Family 서버 엔드포인트에서 파일을 전송할 때 키를 사용합니다.

1. `key_name.pub` 파일로 이동하여 엽니다.

1. 텍스트를 복사하여 서비스 관리 사용자의 **SSH 퍼블릭 키**에 붙여넣습니다.

   1. [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) AWS Transfer Family 콘솔을 연 다음 탐색 창에서 **서버를** 선택합니다.

   1. **서버** 페이지에서 업데이트하려는 사용자가 포함된 서버의 **서버 ID**를 선택합니다.

   1. 퍼블릭 키를 추가할 사용자를 선택합니다.

   1. **SSH 퍼블릭 키** 창에서 **SSH 퍼블릭 키 추가**를 선택합니다.  
![\[선택한 사용자의 사용자 세부 정보를 보여주는 AWS Transfer Family 콘솔입니다.\]](http://docs.aws.amazon.com/ko_kr/transfer/latest/userguide/images/edit-user-add-key-01.png)

   1. 생성한 퍼블릭 키 텍스트를 SSH 퍼블릭 키 텍스트 상자에 붙여넣은 다음 **키 추가**를 선택합니다.  
![\[퍼블릭 키를 추가하기 위한 키 추가 페이지를 보여주는 AWS Transfer Family 콘솔입니다.\]](http://docs.aws.amazon.com/ko_kr/transfer/latest/userguide/images/edit-user-add-key-02.png)

      새 키는 SSH 퍼블릭 키 창에 나열됩니다.  
![\[SSH 퍼블릭 키 섹션에 새로 추가된 퍼블릭 키를 보여주는 AWS Transfer Family 콘솔입니다.\]](http://docs.aws.amazon.com/ko_kr/transfer/latest/userguide/images/edit-user-add-key-03.png)

# Microsoft Windows에서 SSH 키 생성
<a name="windows-ssh"></a>

Windows에는 OpenSSH가 내장 기능으로 포함되어 있으며, 이를 사용하여 Linux 또는 macOS에서와 동일한 형식으로 SSH 키를 생성할 수 있습니다. 또는 PuTTY의 키 생성기(PuTTYgen)와 같은 타사 도구를 사용할 수 있습니다.

## Windows 내장 OpenSSH 사용
<a name="windows-openssh"></a>

Windows의 최신 버전에는 기본적으로 OpenSSH가 포함되어 있습니다. macOS/Linux 섹션에 설명된 것과 동일한 `ssh-keygen` 명령을 사용할 수 있습니다.

1. Windows PowerShell 또는 명령 프롬프트를 엽니다.

1. 생성하려는 키 유형에 따라 다음 명령 중 하나를 실행합니다.
   + RSA 4096비트 키 쌍 생성:

     ```
     ssh-keygen -t rsa -b 4096 -f key_name
     ```
   + ECDSA 521비트 키 페어를 생성하려면:

     ```
     ssh-keygen -t ecdsa -b 521 -f key_name
     ```
   + ED25519 키 쌍을 생성하려면:

     ```
     ssh-keygen -t ed25519 -f key_name
     ```

1. macOS/Linux 섹션과 동일한 단계에 따라 퍼블릭 키를에 업로드합니다 AWS Transfer Family.

## PuTTYgen(타사 도구) 사용
<a name="windows-puttygen"></a>

PuTTY와 같은 Windows용 일부 타사 SSH 클라이언트는 서로 다른 키 형식을 사용합니다. PuTTY는 프라이빗 키에 `PPK` 형식을 사용합니다. PuTTY 또는 WinSCP와 같은 관련 도구를 사용하는 경우 PuTTYgen을 사용하여이 형식으로 키를 생성할 수 있습니다.

**참고**  
WinSCP를 `.ppk` 형식이 아닌 프라이빗 키 파일과 함께 제공하면, 클라이언트는 키를 `.ppk` 형식으로 변환할 기회를 제공합니다.

PuTTYgen을 사용하여 SSH 키를 생성하는 방법에 대한 자습서는 [SSH.com 웹 사이트를](https://www.ssh.com/ssh/putty/windows/puttygen) 참조하세요.

# SSH2 키를 SSH 퍼블릭 키 형식으로 변환
<a name="convert-ssh2-public-key"></a>

 AWS Transfer Family 는 SSH 형식의 퍼블릭 키만 허용합니다. SSH2 퍼블릭 키가 있는 경우 이를 변환해야 합니다. SSH2 퍼블릭 키의 형식은 다음과 같습니다:

```
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20160402"
AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URI
:
:
---- END SSH2 PUBLIC KEY ----
```

SSH 퍼블릭 키의 형식은 다음과 같습니다.

```
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA...
```

다음 명령을 실행하여 SSH2-formatted의 퍼블릭 키를 SSH 형식의 퍼블릭 키로 변환합니다. *ssh2-key*를 SSH2 키 이름으로 바꾸고 *ssh-key*를 SSH 키 이름으로 바꿉니다.

```
ssh-keygen -i -f ssh2-key.pub > ssh-key.pub
```