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

2분 분량
0

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

간략한 설명

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

참고: AWS 명령줄 인터페이스(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

해결 방법

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)"

참고: ZSH 셸을 사용하는 경우 for loop 명령이 각 리전 이름을 올바르게 반복하도록 단어 분할을 활성화합니다. 다음 명령을 사용하여 단어 분할을 활성화합니다.

$ setopt shwordsplit

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 CLI 명령 참조 – import-key-pair

AWS 서비스 엔드포인트

Import-EC2KeyPair Cmdlet

AWS 공식
AWS 공식업데이트됨 3년 전