동일한 SSH 키 페어를 사용하여 모든 AWS 지역의 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 액세스하려고 합니다.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.
EC2 SSH 키 페어가 아직 없는 경우 인스턴스를 생성하세요.
SSH 키 페어를 사용하여 모든 지역의 인스턴스에 액세스하려면 운영 체제에서 다음 절차를 완료하세요.
Linux
다음 단계를 완료합니다.
-
프라이빗 SSH 키(.pem) 파일에서 퍼블릭 SSH 키(.pub) 파일을 생성하려면 다음 명령을 실행합니다.
$ ssh-keygen -y -f MyKeyPair.pem > $HOME/.ssh/id_rsa_MyKeyPair.pub
참고:****MyKeyPair.pem을 프라이빗 .pem 파일 이름으로 바꾸세요. bash 쉘에서 작업하고 유효한 액세스 권한을 가진 사용자로 AWS CLI를 구성해야 합니다.
-
리전을 설정하려면 describe-region 명령을 실행합니다.
$ AWS_REGIONS="$(aws ec2 describe-regions --query 'Regions[].RegionName' --output text)"
**참고:**ZSH 쉘을 사용하는 경우 다음 명령을 실행하여 for loop 명령이 각 리전 이름을 올바르게 반복하도록 단어 분할을 활성화합니다.
$ setopt shwordsplit
-
퍼블릭 SSH 키 페어를 리전으로 가져오려면 import-key-pair 명령을 실행합니다.
$ 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
다음 단계를 완료합니다.
-
프라이빗 SSH 키(.pem) 파일에서 퍼블릭 SSH 키(.pub) 파일을 생성하려면 다음과 같이 합니다.
PuTTYgen을 엽니다.
Load를 선택하여 프라이빗 키 파일을 로드합니다.
퍼블릭 키 저장을 선택합니다.
-
퍼블릭 SSH 키 페어를 리전으로 가져오려면 다음 명령을 실행합니다.
$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 서비스 엔드포인트
Import-EC2KeyPair Cmdlet