모든 AWS 리전에 대해 단일 SSH 키 페어를 사용하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 6월 16일

모든 AWS 리전에서 동일한 SSH 키 페어를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 액세스하려고 합니다. 어떻게 해야 합니까?

간략한 설명

모든 AWS 리전에서 단일 SSH 키 페어를 사용하려면 먼저 프라이빗 SSH 키에서 퍼블릭 SSH 키를 생성합니다. 그런 다음 각 AWS 리전으로 키를 가져옵니다.

​해결 방법

SSH 키 페어가 아직 없는 경우 SSH 키 페어를 생성합니다.

Linux

1.    프라이빗 SSH 키(.pem) 파일에서 퍼블릭 SSH 키(.pub) 파일을 생성합니다.

$ ssh-keygen -y -f MyKeyPair.pem > $HOME/.ssh/id_rsa_MyKeyPair.pub

참고: MyKeyPair.pem을 프라이빗 .pem 파일의 이름으로 바꾸십시오. bash 셸에서 작업 중이어야 하며 유효한 액세스 권한을 가진 사용자로 AWS CLI를 구성해야 합니다.

2.    다음 명령을 실행하여 AWS_REGIONS를 설정합니다.

$ AWS_REGIONS="$(aws ec2 describe-regions --query 'Regions[].RegionName' --output text)"

3.    다음 명령을 실행하여 퍼블릭 SSH 키를 리전으로 가져옵니다.

$ for each_region in ${AWS_REGIONS} ; do aws ec2 import-key-pair --key-name MyKeyPair --public-key-material fileb://$HOME/.ssh/id_rsa_MyKeyPair.pub --region $each_region ; done

Windows

1.    프라이빗 SSH 키(.pem)파일에서 퍼블릭 SSH 키(.pub)파일을 생성합니다.

PuTTYgen을 엽니다.

[Load]를 선택하여 프라이빗 키 파일을 로드합니다.

[Save public key]를 선택합니다.

2.    다음 명령을 실행하여 퍼블릭 SSH 키를 원하는 AWS 리전으로 가져옵니다.

$PubFile = Get-Content .\MyKeyPair.pub -raw
$Key = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($PubFile))
foreach ($Region in (Get-AWSRegion).Region) {Import-EC2KeyPair -KeyName MyKeyPair -PublicKeyMaterial $Key -Region $Region}

참고: MyKeyPair.pub를 퍼블릭 SSH 파일 이름으로 바꿉니다.


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

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?