Amazon EC2 인스턴스에 대한 키 페어 생성 - Amazon Elastic Compute Cloud

Amazon EC2 인스턴스에 대한 키 페어 생성

Amazon EC2를 사용하여 키 페어를 생성하거나 서드 파티 도구를 사용하여 키 페어를 생성한 후에 Amazon EC2로 가져올 수 있습니다.

Amazon EC2는 Linux 및 Windows 인스턴스에 대해 2048비트 SSH-2 RSA 키를 지원합니다. Amazon EC2는 Linux 인스턴스에 대한 ED25519 키도 지원합니다.

키 페어를 생성한 후 SSH를 사용하여 Linux 인스턴스에 연결하는 단계의 경우 Linux 인스턴스에 연결합니다 섹션을 참조하세요.

키 페어를 생성한 후 RDP를 사용하여 Windows 인스턴스에 연결하는 단계의 경우 Windows 인스턴스에 연결 섹션을 참조하세요.

Amazon EC2를 사용하여 키 페어 생성

Amazon EC2 사용하여 키 페어를 생성할 때 퍼블릭 키는 Amazon EC2에 저장되며 프라이빗 키는 사용자가 저장합니다.

리전당 최대 5,000개의 키 페어를 생성할 수 있습니다. 증가를 요청하려면 지원 케이스를 생성합니다. 자세한 내용을 알아보려면 AWS Support 사용 설명서지원 사례 만들기를 참조하세요.

Console
Amazon EC2를 사용하여 키 페어를 생성하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 [Network & Security]에서 [Key Pairs]를 선택합니다.

  3. Create key pair(키 페어 생성)를 선택합니다.

  4. 이름에 키 페어를 설명하는 이름을 입력합니다. Amazon EC2는 사용자가 키 이름으로 지정한 이름에 퍼블릭 키를 연결합니다. 키 이름에는 최대 255자의 ASCII 문자를 포함할 수 있습니다. 선행 또는 후행 공백을 포함할 수 없습니다.

  5. 운영 체제에 적합한 키 페어 유형을 선택합니다.

    (Linux 인스턴스)키 페어 유형에서 RSA 또는 ED25519를 선택합니다.

    (Windows 인스턴스) 키 페어 유형에서 RSA를 선택합니다. ED25519 키는 Windows 인스턴스에서 지원되지 않습니다.

  6. 프라이빗 키 파일 형식(Private key file format)에서 프라이빗 키를 저장할 형식을 선택합니다. OpenSSH에서 사용할 수 있는 형식으로 프라이빗 키를 저장하려면 pem을 선택합니다. PuTTY에서 사용할 수 있는 형식으로 프라이빗 키를 저장하려면 ppk를 선택합니다.

  7. 퍼블릭 키에 태그를 추가하려면 태그 추가(Add tag)를 선택하고 해당 태그의 키와 값을 입력합니다. 각 태그에 대해 반복합니다.

  8. 키 페어 생성(Create key pair)를 선택합니다.

  9. 브라우저에서 프라이빗 키 파일이 자동으로 다운로드됩니다. 기본 파일 이름은 키 페어의 이름으로 지정한 이름이며, 파일 이름 확장자는 선택한 파일 형식에 따라 결정됩니다. 안전한 장소에 프라이빗 키 파일을 저장합니다.

    중요

    이때가 사용자가 프라이빗 키 파일을 저장할 수 있는 유일한 기회입니다.

  10. (Linux 인스턴스) macOS 또는 Linux 컴퓨터에서 SSH 클라이언트를 사용하여 Linux 인스턴스에 연결할 계획이면 사용자만 프라이빗 키 파일을 읽을 수 있도록 다음 명령으로 해당 권한을 설정합니다.

    chmod 400 key-pair-name.pem

    이러한 권한을 설정하지 않으면 이 키 페어를 사용하여 인스턴스에 연결할 수 없습니다. 자세한 내용은 오류: 보호되지 않는 프라이빗 키 파일 단원을 참조하십시오.

AWS CLI
Amazon EC2를 사용하여 키 페어를 생성하려면
  1. 다음과 같이 create-key-pair 명령을 사용하여 키 페어를 생성하고 프라이빗 키를 .pem 파일에 저장합니다.

    --key-name에 퍼블릭 키의 이름을 지정합니다. 이 이름에는 최대 255자의 ASCII 문자를 사용할 수 있습니다.

    --key-typersa 또는 ed25519를 지정합니다. --key-type 파라미터를 포함하지 않을 경우 기본적으로 rsa 키가 생성됩니다. ED25519 키는 Windows 인스턴스에서 지원되지 않습니다.

    --key-format에서 pem 또는 ppk를 지정합니다. --key-format 파라미터를 포함하지 않을 경우 기본적으로 pem 파일이 생성됩니다.

    --query "KeyMaterial"은 프라이빗 키 구성 요소를 출력에 인쇄합니다.

    --output text > my-key-pair.pem은 특정 확장자가 있는 파일에 프라이빗 키 구성 요소를 저장합니다. 확장자는 .pem 또는 .ppk 중 하나일 수 있습니다. 프라이빗 키는 퍼블릭 키 이름과 다른 이름을 가질 수 있지만, 사용상의 편의를 위해 동일한 이름을 사용합니다.

    aws ec2 create-key-pair \ --key-name my-key-pair \ --key-type rsa \ --key-format pem \ --query "KeyMaterial" \ --output text > my-key-pair.pem
  2. (Linux 인스턴스) macOS 또는 Linux 컴퓨터에서 SSH 클라이언트를 사용하여 Linux 인스턴스에 연결할 계획이면 사용자만 프라이빗 키 파일을 읽을 수 있도록 다음 명령으로 해당 권한을 설정합니다.

    chmod 400 key-pair-name.pem

    이러한 권한을 설정하지 않으면 이 키 페어를 사용하여 인스턴스에 연결할 수 없습니다. 자세한 내용은 오류: 보호되지 않는 프라이빗 키 파일 단원을 참조하십시오.

PowerShell
Amazon EC2를 사용하여 키 페어를 생성하려면

다음과 같이 New-EC2KeyPair AWS Tools for Windows PowerShell 명령을 사용하여 키를 생성하고 생성한 키를 .pem 또는 .ppk 파일에 저장합니다.

-KeyName에 퍼블릭 키의 이름을 지정합니다. 이 이름에는 최대 255자의 ASCII 문자를 사용할 수 있습니다.

-KeyTypersa 또는 ed25519를 지정합니다. -KeyType 파라미터를 포함하지 않을 경우 기본적으로 rsa 키가 생성됩니다. ED25519 키는 Windows 인스턴스에서 지원되지 않습니다.

-KeyFormat에서 pem 또는 ppk를 지정합니다. -KeyFormat 파라미터를 포함하지 않을 경우 기본적으로 pem 파일이 생성됩니다.

KeyMaterial은 프라이빗 키 구성 요소를 출력에 인쇄합니다.

Out-File -Encoding ascii -FilePath C:\path\my-key-pair.pem은 특정 확장자가 있는 파일에 프라이빗 키 구성 요소를 저장합니다. 확장자는 .pem 또는 .ppk일 수 있습니다. 프라이빗 키는 퍼블릭 키 이름과 다른 이름을 가질 수 있지만, 사용상의 편의를 위해 동일한 이름을 사용합니다.

PS C:\> (New-EC2KeyPair -KeyName "my-key-pair" -KeyType "rsa" -KeyFormat "pem").KeyMaterial | Out-File -Encoding ascii -FilePath C:\path\my-key-pair.pem

AWS CloudFormation을 사용하여 키 페어 생성

AWS CloudFormation을 사용하여 새 키 페어를 생성하면 프라이빗 키가 AWS Systems Manager 파라미터 스토어에 저장됩니다. 다음은 파라미터 이름의 형식입니다.

/ec2/keypair/key_pair_id

자세한 내용을 알아보려면 AWS Systems Manager 사용 설명서AWS Systems Manager Parameter Store를 참조하세요.

AWS CloudFormation을 사용하여 키 페어를 생성하려면
  1. 템플릿에서 AWS::EC2::KeyPair 리소스를 사용합니다.

    Resources: NewKeyPair: Type: 'AWS::EC2::KeyPair' Properties: KeyName: new-key-pair
  2. 다음과 같이 describe-key-pairs 명령을 사용하여 키 페어의 ID를 가져옵니다.

    aws ec2 describe-key-pairs --filters Name=key-name,Values=new-key-pair --query KeyPairs[*].KeyPairId --output text

    출력의 예제는 다음과 같습니다.

    key-05abb699beEXAMPLE
  3. 다음과 같이 get-parameter 명령을 사용하여 키의 파라미터를 가져오고 키 구성 요소를 .pem 파일에 저장합니다.

    aws ssm get-parameter --name /ec2/keypair/key-05abb699beEXAMPLE --with-decryption --query Parameter.Value --output text > new-key-pair.pem
필수 IAM 권한

AWS CloudFormation이 사용자를 대신하여 파라미터 스토어 파라미터를 관리할 수 있도록 하려면 AWS CloudFormation 또는 사용자가 수임하는 IAM 역할에 다음 권한이 있어야 합니다.

  • ssm:PutParameter - 이 프라이빗 키 구성 요소에 대한 파라미터를 생성할 수 있는 권한을 부여합니다.

  • ssm:DeleteParameter - 프라이빗 키 구성 요소를 저장하는 데 사용된 파라미터를 삭제할 권한을 부여합니다. 이 권한은 AWS CloudFormation에서 키 페어를 가져왔거나 생성했는지에 관계없이 필요합니다.

AWS CloudFormation은 키 페어를 생성할 때만 파라미터를 생성하고 키 페어를 가져올 때는 파라미터를 생성하지 않지만, 스택에 의해 생성되거나 가져온 키 페어를 삭제할 때 AWS CloudFormation은 권한 확인을 수행하여 사용자에게 파라미터를 삭제할 권한이 있는지 확인합니다. AWS CloudFormation은 사용자 계정의 파라미터와 일치하지 않는 조작된 파라미터 이름을 사용하여 필요한 권한을 테스트합니다. 따라서 AccessDeniedException 오류 메시지에 조작된 파라미터 이름이 표시될 수 있습니다.

서드 파티 도구를 사용하여 키 페어를 생성하고 Amazon EC2로 퍼블릭 키 가져오기

Amazon EC2를 사용하여 키 페어를 생성하는 대신에 서드 파티 도구를 사용하여 RSA 또는 ED25519 키 페어를 생성한 다음에 Amazon EC2로 퍼블릭 키를 가져올 수 있습니다.

키 페어에 대한 요구 사항
  • 지원되는 유형: RSA 및 ED25519. Amazon EC2는 DSA 키를 허용하지 않습니다.

  • 지원되는 형식:

    • OpenSSH 퍼블릭 키 형식(~/.ssh/authorized_keys의 형식). EC2 Instance Connect API를 사용하는 동안 SSH를 사용하여 연결하는 경우 SSH2 형식도 지원됩니다.

    • SSH 프라이빗 키 파일 형식은 PEM 또는 PPK이어야 함

    • (RSA만 해당) Base64 인코딩 DER 형식

    • (RSA만 해당) RFC 4716에 지정된 SSH 퍼블릭 키 파일 형식

  • 지원되는 길이: 1024, 2048, 4096 EC2 Instance Connect API를 사용하는 동안 SSH를 사용하여 연결하는 경우 지원되는 길이는 2048 및 4096입니다.

타사 도구를 이용한 키 페어 만들기
  1. 타사 도구로 원하는 키 페어를 생성합니다. 예를 들어 ssh-keygen(표준 OpenSSH 설치 시 제공되는 도구)을 사용할 수 있습니다. 또는 Java, Ruby, Python 등 각종 프로그래밍 언어에서 제공하는 표준 라이브러리를 사용하여 RSA 또는 ED25519 키 페어를 만들어도 됩니다.

    중요

    프라이빗 키는 PEM 또는 PPK 형식이어야 합니다. 예를 들어 ssh-keygen -m PEM을 사용하여 PEM 형식으로 OpenSSH 키를 생성합니다.

  2. 퍼블릭 키는 로컬 파일에 저장합니다. 예를 들면 ~/.ssh/my-key-pair.pub입니다. 이 파일의 파일 이름 확장자는 중요하지 않습니다.

  3. 프라이빗 키를 확장자가 .pem 또는 .ppk인 로컬 파일에 저장합니다. 예: ~/.ssh/my-key-pair.pem또는 ~/.ssh/my-key-pair.ppk.

    중요

    프라이빗 키 파일을 안전한 장소에 저장합니다. 인스턴스를 시작할 때 퍼블릭 키의 이름을 제공하고, 인스턴스에 연결할 때마다 해당 프라이빗 키를 제공해야 합니다.

Amazon EC2를 사용하여 키 페어를 생성하는 대신, 서드 파티 도구를 사용하여 RSA 키 페어를 생성한 후 Amazon EC2로 퍼블릭 키를 가져올 수 있습니다.

키 페어에 대한 요구 사항
  • 지원되는 유형: RSA Amazon EC2는 DSA 키를 허용하지 않습니다.

    참고

    ED25519 키는 Windows 인스턴스에서 지원되지 않습니다.

  • 지원되는 형식:

    • OpenSSH 퍼블릭 키 형식

    • SSH 프라이빗 키 파일 형식은 PEM 또는 PPK이어야 함

    • (RSA만 해당) Base64 인코딩 DER 형식

    • (RSA만 해당) RFC 4716에 지정된 SSH 퍼블릭 키 파일 형식

  • 지원되는 길이: 1024, 2048, 4096

타사 도구를 이용한 키 페어 만들기
  1. 타사 도구로 원하는 키 페어를 생성합니다. 예를 들어 ssh-keygen(표준 OpenSSH 설치 시 제공되는 도구)을 사용할 수 있습니다. 또는 Java, Ruby, Python 등 각종 프로그래밍 언어에서 제공하는 표준 라이브러리를 사용하여 RSA 키 페어를 만들어도 됩니다.

    중요

    프라이빗 키는 PEM 또는 PPK 형식이어야 합니다. 예를 들어 ssh-keygen -m PEM을 사용하여 PEM 형식으로 OpenSSH 키를 생성합니다.

  2. 퍼블릭 키는 로컬 파일에 저장합니다. 예를 들면 C:\keys\my-key-pair.pub입니다. 이 파일의 파일 이름 확장자는 중요하지 않습니다.

  3. 프라이빗 키를 확장자가 .pem 또는 .ppk인 로컬 파일에 저장합니다. 예: C:\keys\my-key-pair.pem또는 C:\keys\my-key-pair.ppk. EC2 콘솔에서 Windows 인스턴스에 연결할 때 .pem 파일만 선택할 수 있으므로 이 파일의 파일 이름 확장자가 중요합니다.

    중요

    프라이빗 키 파일을 안전한 장소에 저장합니다. 인스턴스를 시작할 때 퍼블릭 키의 이름을 제공하고, 인스턴스에 연결할 때마다 해당 프라이빗 키를 제공해야 합니다.

키 페어를 만든 후 다음 방법 중 하나를 사용하여 퍼블릭 키를 Amazon EC2로 가져옵니다.

Console
Amazon EC2로 퍼블릭 키를 가져오려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 [Key Pairs]를 선택합니다.

  3. 키 페어 가져오기를 선택합니다.

  4. [이름(Name)]에 퍼블릭 키를 설명하는 이름을 입력합니다. 이름에는 최대 255자의 ASCII 문자를 포함할 수 있습니다. 선행 또는 후행 공백을 포함할 수 없습니다.

    참고

    EC2 콘솔에서 인스턴스에 연결할 때 콘솔은 프라이빗 키 파일의 이름으로 이 이름을 제안합니다.

  5. 찾아보기를 선택하여 퍼블릭 키를 탐색하고 선택하거나 퍼블릭 키의 내용을 퍼블릭 키 내용 필드에 붙여 넣습니다.

  6. 키 페어 가져오기를 선택합니다.

  7. 가져온 퍼블릭 키가 키 페어 목록에 나타나는지 확인합니다.

AWS CLI
Amazon EC2로 퍼블릭 키를 가져오려면

import-key-pair AWS CLI명령을 사용합니다.

키 페어를 성공적으로 가져왔는지 확인하려면

describe-key-pairs AWS CLI명령을 사용합니다.

PowerShell
Amazon EC2로 퍼블릭 키를 가져오려면

Import-EC2KeyPair AWS Tools for Windows PowerShell명령을 사용합니다.

키 페어를 성공적으로 가져왔는지 확인하려면

Get-EC2KeyPair AWS Tools for Windows PowerShell명령을 사용합니다.