최초 시작 후 SSH 키 페어가 손실된 경우 Amazon EC2 인스턴스에 연결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 9월 10일

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결하려고 하지만 SSH 키 페어가 손실되었습니다. 인스턴스에 연결하려면 어떻게 해야 합니까?

해결 방법

경고: 이 절차를 시작하기 전에 다음 사항을 유의해야 합니다.

  • 이 절차를 수행하려면 EC2 인스턴스를 중지했다가 시작해야 합니다. 인스턴스 스토어 볼륨의 데이터는 손실됩니다. 자세한 내용은 인스턴스의 루트 디바이스 유형 확인을 참조하십시오. 따라서 인스턴스 스토어 볼륨에서 유지하려는 데이터를 모두 백업해야 합니다.
  • 인스턴스를 중지하고 다시 시작하면 인스턴스의 퍼블릭 IP 주소가 변경됩니다. 외부 트래픽을 인스턴스로 라우팅할 때에는 퍼블릭 IP 주소 대신, 탄력적 IP 주소를 사용하는 것이 모범 사례입니다.

방법 1: 사용자 데이터 입력

1.    새 키 페어를 생성합니다.

2.    Amazon EC2 콘솔에서 프라이빗 키를 생성하려면 해당 키 페어의 퍼블릭 키를 검색합니다.

3.    Amazon EC2 콘솔을 엽니다.

4.    인스턴스를 중지합니다.

5.    작업, 인스턴스 설정을 선택한 다음, 사용자 데이터 보기/변경을 선택합니다.

6.    다음 스크립트를 사용자 데이터 보기/변경 대화 상자에 복사합니다.

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [users-groups, once]
users:
  - name: username
    ssh-authorized-keys: 
    - PublicKeypair

username을 사용자 이름(예: ec2-user)으로 바꿉니다. 기본 사용자 이름을 입력하거나, 이전에 인스턴스에 대해 설정한 사용자 지정 사용자 이름이 있는 경우 해당 이름을 입력합니다. 기본 사용자 이름 목록은 인스턴스에 연결하기 위한 일반 사전 요구 사항을 참조하십시오.

PublicKeypair를 2단계에서 검색한 퍼블릭 키로 바꿉니다. ssh-rsa로 시작하는 전체 퍼블릭 키를 입력해야 합니다.

7.    [Save(저장)]를 선택합니다.

8.    인스턴스를 시작합니다.

9.    cloud-init 단계가 완료된 후 퍼블릭 키가 바뀌었는지 확인합니다.

중요: 스크립트에 키 페어가 포함되어 있으므로 [User Data(사용자 데이터)] 필드에서 스크립트를 제거하는 것이 좋습니다.

10.    인스턴스를 중지합니다.

11.    작업, 인스턴스 설정을 선택한 다음, 사용자 데이터 보기/변경을 선택합니다.

12.    [View/Change User Data(사용자 데이터 보기/변경)] 대화 상자에서 모든 텍스트를 삭제한 다음, [Save(저장)]를 선택합니다.

13.    인스턴스를 시작합니다.

참고: 인스턴스가 Amazon Linux 2 2.0.20190618 이상인 경우 EC2 Instance Connect(EC2 인스턴스 연결)를 사용하여 인스턴스에 연결할 수 있습니다.

방법 2: AWS Systems Manager 사용

연결할 수 없는 인스턴스가 AWS Systems Manager에 managed instance(관리형 인스턴스)로 나열되는 경우 AWSSupport-ResetAccess 문서를 사용하여 손상된 키 페어 시나리오에서 복구할 수 있습니다. 이 자동화 문서는 지정된 EC2 인스턴스에서 EC2Rescue for Linux 도구를 사용하여 새 SSH(퍼블릭/프라이빗) 키 페어를 자동으로 생성하고 추가합니다.

인스턴스에 대한 새 SSH 프라이빗 키가 암호화되어 AWS Systems Manager Parameter Store에 저장됩니다. 파라미터 이름은 /ec2rl/openssh/instance_id/key입니다. 이 파라미터의 값을 콘텐츠로 사용하여 새 .pem 파일을 생성하고 이를 사용하여 연결할 수 없는 인스턴스에 다시 연결합니다.

참고: 자동화 워크플로는 암호로 활성화된 백업 Amazon 머신 이미지(AMI)를 생성합니다. 새 AMI는 자동으로 삭제되지 않고 계정에 유지됩니다.

이러한 AMI를 찾으려면 다음과 같이 합니다.

1.    Amazon EC2 콘솔을 열고 AMI를 선택합니다.

2.    검색 필드에 자동화 실행 ID를 입력합니다.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?