Amazon EC2 키 페어 및 Linux 인스턴스 - Amazon Elastic Compute Cloud

Amazon EC2 키 페어 및 Linux 인스턴스

퍼블릭 키와 프라이빗 키로 구성되는 키 페어는 Amazon EC2 인스턴스에 연결할 때 자격 증명 입증에 사용하는 보안 자격 증명 집합입니다. Amazon EC2는 퍼블릭 키를 인스턴스에 저장하며 프라이빗 키는 사용자가 저장합니다. Linux 인스턴스의 경우 프라이빗 키를 사용하여 인스턴스에 안전하게 SSH로 연결할 수 있습니다. 프라이빗 키를 소유하는 사람은 누구나 인스턴스에 연결할 수 있으므로 보안된 위치에 프라이빗 키를 저장해 두는 것이 중요합니다.

인스턴스를 시작할 때 키 페어를 입력하라는 메시지가 표시됩니다. SSH를 사용하여 인스턴스에 연결하려는 경우 키 페어를 지정해야 합니다. 기존 키 페어를 선택하거나 새로 만들 수 있습니다. 인스턴스가 처음 부팅될 때 시작 시 지정한 퍼블릭 키가 Linux 인스턴스에 있는 ~/.ssh/authorized_keys 내 항목에 배치됩니다. SSH를 사용하여 Linux 인스턴스에 연결할 때 로그인하려면 퍼블릭 키에 해당하는 프라이빗 키를 지정해야 합니다. 인스턴스 연결에 대한 자세한 내용은 Linux 인스턴스에 연결합니다 주제를 참조하십시오. 키 페어 및 Windows 인스턴스에 대한 자세한 내용은 Windows 인스턴스용 Amazon EC2 사용 설명서에서 Amazon EC2 키 페어 및 Windows 인스턴스를 참조하세요. 인스턴스 연결에 대한 자세한 내용은 주제를 참조하십시오.

Amazon EC2에는 프라이빗 키의 사본이 보관되지 않으므로, 프라이빗 키를 분실하면 이를 복구할 방법이 전혀 없습니다. 그러나 분실된 프라이빗 키를 사용하는 인스턴스에 연결하는 방법은 여전히 있을 수 있습니다. 자세한 내용은 프라이빗 키를 분실한 경우 Linux 인스턴스에 연결 단원을 참조하십시오.

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

Amazon EC2에서 사용되는 키는 ED25519 또는 2048비트 SSH-2 RSA 키입니다.

리전당 최대 5,000개의 키 페어를 가질 수 있습니다.

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

다음 방법 중 하나를 사용하여 키 페어를 만들 수 있습니다.

Console

키 페어를 만들려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

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

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

  5. 키 페어 유형(Key pair type)에서 RSA 또는 ED25519를 선택합니다. ED25519 키는 Windows 인스턴스, EC2 인스턴스 Connect 또는 EC2 직렬 콘솔에서 지원되지 않습니다.

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

    이전 단계에서 ED25519를 선택한 경우 프라이빗 키 파일 형식(Private key file format) 옵션이 표시되지 않으며 프라이빗 키 형식은 기본적으로 pem입니다.

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

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

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

    중요

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

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

    chmod 400 my-key-pair.pem

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

AWS CLI

키 페어를 만들려면

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

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

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

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

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

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

    chmod 400 my-key-pair.pem

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

PowerShell

키 페어를 만들려면

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

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

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

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

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

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

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

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

키 페어에 대한 요구 사항

  • 지원되는 유형: RSA 및 ED25519. Amazon EC2는 DSA 키를 허용하지 않습니다.

    • ED25519 키는 Windows 인스턴스, EC2 인스턴스 Connect 및 EC2 직렬 콘솔에서 지원되지 않습니다.

  • 지원되는 형식:

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

    • SSH 프라이빗 키 파일 형식은 PEM이어야 합니다.

    • (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 형식이어야 합니다. 예를 들어 ssh-keygen -m PEM을 사용하여 PEM 형식으로 OpenSSH 키를 생성합니다.

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

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

    중요

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

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

Console

퍼블릭 키 가져오기

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

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

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

    참고

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

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

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

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

AWS CLI

퍼블릭 키 가져오기

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

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

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

PowerShell

퍼블릭 키 가져오기

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

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

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

퍼블릭 키 태깅

Amazon EC2를 사용하여 생성하거나 Amazon EC2로 가져온 퍼블릭 키를 손쉽게 분류하고 관리하기 위해 사용자 지정 메타데이터로 태깅할 수 있습니다. 태그 작동 방식에 대한 자세한 내용은 Amazon EC2 리소스 태깅 단원을 참조하십시오.

다음 방법 중 하나를 사용하여 태그를 보고 추가하고 삭제할 수 있습니다.

Console

기존 퍼블릭 키의 태그를 보거나 추가 또는 삭제하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

  3. 퍼블릭 키를 선택한 다음 [작업(Actions)], [태그 관리(Manage tags)]를 선택합니다.

  4. [태그 관리(Manage tags)] 페이지에는 퍼블릭 키에 할당된 모든 태그가 표시됩니다.

    • 태그를 추가하려면 태그 추가를 선택한 다음 태그 키와 값을 입력합니다. 키당 최대 50개의 태그를 추가할 수 있습니다. 자세한 내용은 태그 제한 섹션을 참조하세요.

    • 태그를 삭제하려면 삭제할 태그 옆의 [제거(Remove)]를 선택합니다.

  5. 저장(Save)을 선택합니다.

AWS CLI

퍼블릭 키 태그를 보려면

describe-tags AWS CLI 명령을 사용합니다. 다음 예제에서는 모든 퍼블릭 키의 태그를 설명합니다.

$ aws ec2 describe-tags --filters "Name=resource-type,Values=key-pair"
{ "Tags": [ { "Key": "Environment", "ResourceId": "key-0123456789EXAMPLE", "ResourceType": "key-pair", "Value": "Production" }, { "Key": "Environment", "ResourceId": "key-9876543210EXAMPLE", "ResourceType": "key-pair", "Value": "Production" }] }

특정 퍼블릭 키의 태그를 설명하려면

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

$ aws ec2 describe-key-pairs --key-pair-ids key-0123456789EXAMPLE
{ "KeyPairs": [ { "KeyName": "MyKeyPair", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f", "KeyPairId": "key-0123456789EXAMPLE", "Tags": [ { "Key": "Environment", "Value": "Production" }] }] }

기존 퍼블릭 키에 태깅하려면

create-tags AWS CLI 명령을 사용합니다. 다음 예제에서는 기존 퍼블릭 키에 Key=Cost-CenterValue=CC-123 태그가 지정됩니다.

$ aws ec2 create-tags --resources key-0123456789EXAMPLE --tags Key=Cost-Center,Value=CC-123

퍼블릭 키에서 태그를 삭제하려면

delete-tags AWS CLI 명령을 사용합니다. 예제는 AWS CLI 명령 참조에서 예제를 참조하세요.

PowerShell

퍼블릭 키 태그를 보려면

Get-EC2Tag 명령을 사용합니다.

특정 퍼블릭 키의 태그를 설명하려면

Get-EC2KeyPair 명령을 사용합니다.

기존 퍼블릭 키에 태깅하려면

New-EC2Tag 명령을 사용합니다.

퍼블릭 키에서 태그를 삭제하려면

Remove-EC2Tag 명령을 사용합니다.

프라이빗 키에서 퍼블릭 키 검색

로컬 Linux 또는 macOS 컴퓨터에서 ssh-keygen 명령을 사용하여 키 페어의 퍼블릭 키를 검색할 수 있습니다. 프라이빗 키(.pem 파일)를 다운로드한 경로를 지정합니다.

ssh-keygen -y -f /path_to_key_pair/my-key-pair.pem

이 명령은 다음 예제와 같이 퍼블릭 키를 반환합니다.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE

명령이 실패하는 경우 다음 명령을 실행하여 사용자 자신만 볼 수 있도록 프라이빗 키 페어 파일에 대한 권한이 변경되어 있는지 확인합니다.

chmod 400 my-key-pair.pem

인스턴스 메타데이터를 통해 퍼블릭 키 검색

또한 인스턴스를 시작할 때 지정한 퍼블릭 키는 해당 인스턴스 메타데이터를 통해 확인할 수 있습니다. 인스턴스를 시작할 때 지정한 퍼블릭 키를 보려면 인스턴스에서 다음 명령을 사용하면 됩니다.

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" –v http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key

다음은 예제 출력입니다.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key

다음은 예제 출력입니다.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair

인스턴스에 연결하는 데 사용하는 키 페어를 변경하면 새 퍼블릭 키가 표시되도록 인스턴스 메타데이터가 업데이트되지 않습니다. 대신 인스턴스 메타데이터는 인스턴스를 시작할 때 지정한 키 페어의 퍼블릭 키를 계속 표시합니다. 자세한 내용은 인스턴스 메타데이터 검색 섹션을 참조하세요.

인스턴스에서 퍼블릭 키 찾기

인스턴스를 시작할 때 키 페어를 입력하라는 메시지가 표시됩니다. SSH를 사용하여 인스턴스에 연결하려는 경우 키 페어를 지정해야 합니다. 인스턴스가 처음 부팅될 때 시작 시 지정한 퍼블릭 키의 콘텐츠가 Linux 인스턴스에 있는 내 항목에 배치됩니다.~/.ssh/authorized_keys

인스턴스에서 퍼블릭 키를 찾으려면

  1. 인스턴스에 연결합니다.

  2. 터미널 창에서 자주 사용하는 텍스트 편집기를 사용하여 authorized_keys 파일(예: vim 또는 nano)을 엽니다.

    [ec2-user ~]$ nano ~/.ssh/authorized_keys

    퍼블릭 키와 이 키 페어의 이름이 표시된 authorized_keys 파일이 열립니다. 다음은 이름이 my-key-pair인 키 페어에 대한 예시 항목입니다.

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair

시작 시 지정된 키 페어 식별

인스턴스를 시작할 때 키 페어를 입력하라는 메시지가 표시됩니다. SSH를 사용하여 인스턴스에 연결하려는 경우 키 페어를 지정해야 합니다.

시작 시 지정된 키 페어를 식별하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택한 다음 인스턴스를 선택합니다.

  3. [세부 정보(Details)] 탭의 [인스턴스 세부 정보(Instance details)] 아래 [키 페어 이름(Key pair name)] 필드에 인스턴스를 시작할 때 지정한 키 페어의 이름이 표시됩니다. 인스턴스의 퍼블릭 키를 변경하거나 키 페어를 추가하더라도 키 페어 이름의 값은 변경되지 않습니다.

키 페어의 지문 확인

Amazon EC2 콘솔에서 [키 페어(Key Pairs)] 페이지를 보면 [지문(Fingerprint)] 열에 키 페어에서 생성된 지문이 표시됩니다. AWS에서 지문은 키 페어가 AWS에서 생성되었는지, 서드 파티 도구에서 생성되었는지 여부에 따라 다르게 계산됩니다. AWS를 사용하여 키 페어를 만든 경우 지문은 SHA-1 해시 함수를 통해 산출됩니다. 타사 도구로 키 페어를 만들고 AWS에 퍼블릭 키를 업로드한 경우이거나 기존 AWS에서 만든 프라이빗 키에서 새 퍼블릭 키를 생성하여 AWS에 업로드한 경우, 지문은 MD5 해시 함수를 통해 산출됩니다.

키 페어 페이지에 표시된 SSH2 지문을 사용하여 로컬 컴퓨터에 있는 프라이빗 키가 AWS에 저장된 퍼블릭 키와 일치하는지 확인할 수 있습니다. 프라이빗 키 파일을 다운로드한 컴퓨터에서 프라이빗 키 파일에서 SSH2 지문을 생성합니다. 이 경우 출력이 콘솔에 표시된 지문과 일치해야 합니다.

Windows 로컬 컴퓨터를 사용 중인 경우 Linux용 Windows 하위 시스템(WSL)을 사용하여 다음 명령을 실행할 수 있습니다. Windows 10 설치 가이드의 지침을 이용하여 WSL과 Linux 배포를 설치하십시오. 지침 속 사례는 Linux의 Ubuntu 배포를 설치하는 것이지만, 다른 배포의 설치에도 활용할 수 있습니다. 변경 사항을 적용하려면 컴퓨터를 다시 시작하라는 안내가 표시됩니다.

AWS를 사용하여 키 페어를 생성한 경우 다음 예제와 같이 OpenSSL 도구를 사용하여 지문을 생성할 수 있습니다.

$ openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c

타사 도구를 사용하여 키 페어를 생성하고 AWS에 퍼블릭 키를 업로드한 경우, OpenSSL 도구를 사용하여 다음 예제와 같이 지문을 생성할 수 있습니다.

$ openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c

OpenSSH 7.8 이상을 사용하여 OpenSSH 키 페어를 생성하고 AWS에 퍼블릭 키를 업로드한 경우 ssh-keygen을 사용하여 다음 예와 같이 지문을 생성할 수 있습니다.

RSA 키 페어의 경우:

$ ssh-keygen -ef path_to_private_key -m PEM | openssl rsa -RSAPublicKey_in -outform DER | openssl md5 -c

ED25519 키 페어의 경우:

$ ssh-keygen -l -f path_to_private_key.pem

인스턴스에 대한 키 페어 추가 또는 교체

인스턴스에서 새 퍼블릭 키를 추가하거나 인스턴스의 퍼블릭 키를 대체(기존 퍼블릭 키 삭제 및 새 퍼블릭 키 추가)하여 인스턴스의 기본 시스템 계정에 액세스하는 데 사용되는 키 페어를 변경할 수 있습니다. 이렇게 해야 하는 경우는 다음과 같습니다.

  • 조직 내 사용자가 별도의 키 페어를 사용하여 시스템 사용자 계정에 액세스해야 하는 경우 인스턴스에 퍼블릭 키 페어를 추가할 수 있습니다.

  • 프라이빗 키(.pem 파일)의 복사본을 보유하고 있는 누군가의 인스턴스 연결을 차단하려는 경우(예: 퇴사자) 인스턴스의 퍼블릭 키를 삭제하고 새 키로 교체할 수 있습니다.

퍼블릭 키는 인스턴스의 .ssh/authorized_keys 파일에 있습니다.

키 페어를 추가하거나 교체하려면 인스턴스에 연결할 수 있어야 합니다. 기존 프라이빗 키를 분실했거나 키 페어 없이 인스턴스를 시작한 경우 인스턴스에 연결할 수 없으므로 키 페어를 추가하거나 교체할 수 없습니다. 프라이빗 키를 분실한 경우 검색할 수 있습니다. 자세한 내용은 프라이빗 키를 분실한 경우 Linux 인스턴스에 연결 섹션을 참조하세요. 키 페어 없이 인스턴스를 시작한 경우 사용자가 다른 방법으로 로그인할 수 있도록 구성된 AMI를 선택해야만 인스턴스에 연결할 수 있습니다.

참고

이러한 절차는 기본 사용자 계정(예: ec2-user)의 키 페어를 수정하는 것입니다. 인스턴스에 사용자 계정을 추가하는 것에 대한 자세한 내용은 Amazon Linux 인스턴스에서 사용자 계정 관리 섹션을 참조하세요.

키 페어를 추가 또는 교체하는 방법

  1. Amazon EC2 콘솔 또는 타사 도구를 사용하여 새 키 페어를 만듭니다.

  2. 새 키 페어에서 퍼블릭 키를 검색합니다. 자세한 내용은 프라이빗 키에서 퍼블릭 키 검색 섹션을 참조하세요.

  3. 기존 프라이빗 키를 사용하여 인스턴스에 연결합니다.

  4. 원하는 텍스트 편집기를 사용하여 인스턴스에서 .ssh/authorized_keys 파일을 엽니다. 새 키 페어의 퍼블릭 키 정보를 기존 퍼블릭 키 정보 아래에 붙여넣습니다. 파일을 선택합니다.

  5. 인스턴스 연결을 해제하고 새 프라이빗 키 파일을 사용하여 인스턴스에 연결할 수 있는지 테스트합니다.

  6. (선택 사항) 기존 키 페어를 교체하는 경우 인스턴스에 연결하고 .ssh/authorized_keys 파일에서 원래 키 페어의 퍼블릭 키 정보를 삭제합니다.

참고

Auto Scaling 그룹을 사용 중인 경우 교체하려는 키 페어가 시작 템플릿 또는 시작 구성에 지정되지 않았는지 확인합니다. Amazon EC2 Auto Scaling은 비정상 인스턴스가 감지될 경우 대체 인스턴스를 시작합니다. 그러나 키 페어를 찾지 못하면 인스턴스 시작이 실패합니다. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서에서 시작 템플릿을 참조하세요.

키 페어 삭제

다음 방법을 사용하여 키 페어를 삭제하면 해당 키 페어를 생성하거나가져올 때 Amazon EC2에 저장한 퍼블릭 키만 삭제됩니다. 키 페어를 삭제한다고 해서 이전에 해당 키 페어를 사용하여 시작된 모든 인스턴스에서 퍼블릭 키가 삭제되지는 않습니다. 로컬 컴퓨터의 프라이빗 키도 삭제되지 않습니다. 이후에 삭제된 키 페어를 사용하여 시작한 인스턴스에는 프라이빗 키(.pem) 파일을 가지고 있는 한 계속해서 연결할 수 있습니다.

참고

인스턴스에서 퍼블릭 키를 삭제하려면 인스턴스에서 퍼블릭 키 삭제 섹션을 참조하세요.

Auto Scaling 그룹을 사용 중인 경우(예: Elastic Beanstalk 환경에서) 연결된 시작 템플릿 또는 시작 구성에 삭제하려는 키 페어가 지정되지 않았는지 확인합니다. Amazon EC2 Auto Scaling은 비정상 인스턴스가 감지될 경우 대체 인스턴스를 시작합니다. 그러나 키 페어를 찾지 못하면 인스턴스 시작이 실패합니다. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서에서 시작 템플릿을 참조하세요.

다음 방법 중 하나를 사용하여 키 페어를 삭제할 수 있습니다.

Console

키 페어를 삭제하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

  3. 삭제할 키 페어를 선택하고 삭제를 선택합니다.

  4. 확인 필드에 Delete를 입력한 다음 삭제를 선택합니다.

AWS CLI

키 페어를 삭제하려면

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

PowerShell

키 페어를 삭제하려면

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

인스턴스에서 퍼블릭 키 삭제

인스턴스에서 Linux AMI 생성하는 경우 퍼블릭 키 정보가 인스턴스에서 AMI로 복사됩니다. AMI에서 인스턴스를 시작하는 경우 새 인스턴스에 원본 인스턴스의 키 페어가 포함됩니다. 프라이빗 키를 가진 사용자가 새 인스턴스에 연결할 수 없도록 하려면 AMI를 생성하기 전에 원본 인스턴스에서 공개 키를 삭제합니다.

인스턴스에서 퍼블릭 키를 삭제하려면

  1. 인스턴스에 연결합니다.

  2. 원하는 텍스트 편집기를 사용하여 인스턴스에서 .ssh/authorized_keys 파일을 엽니다. 퍼블릭 키 정보를 삭제한 후 파일을 저장합니다.

주의

인스턴스에서 퍼블릭 키를 삭제하고 인스턴스 연결을 끊은 후에는 AMI가 다른 로그인 방법을 제공하지 않는 한 다시 연결할 수 없습니다.