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

Amazon EC2 키 페어 및 Linux 인스턴스

퍼블릭 키와 프라이빗 키로 구성되는 키 페어는 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에서 사용되는 키는 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. 파일 형식에서 프라이빗 키를 저장할 형식을 선택합니다. OpenSSH에서 사용할 수 있는 형식으로 프라이빗 키를 저장하려면 pem을 선택합니다. PuTTY에서 사용할 수 있는 형식으로 프라이빗 키를 저장하려면 ppk를 선택합니다.

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

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

    중요

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

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

    chmod 400 my-key-pair.pem

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

AWS CLI

키 페어를 만들려면

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

    aws ec2 create-key-pair --key-name my-key-pair --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 파일에 저장합니다.

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

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

Amazon EC2를 사용하지 않고 키 페어를 만들었다면 타사 도구를 사용하여 RSA 키 페어를 만든 후 Amazon EC2로 퍼블릭 키를 가져올 수 있습니다.

키 페어에 대한 요구 사항

  • 지원되는 형식:

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

    • Base64 인코딩 DER 형식

    • RFC4716에 지정된 SSH 퍼블릭 키 파일 형식

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

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

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

타사 도구를 이용한 키 페어 만들기

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

    중요

    프라이빗 키는 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을 사용하여 다음 예제와 같이 지문을 생성할 수 있습니다.

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

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

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

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

  • 프라이빗 키(.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가 다른 로그인 방법을 제공하지 않는 한 다시 연결할 수 없습니다.