내 키 페어 설명하기
내 키 페어 설명하기
Amazon EC2에 저장한 키 페어를 설명(describe)할 수 있어요. 공개 키 자료를 검색하고 시작 시 지정한 공개 키를 식별할 수도 있어요. 이 절에서 콘솔·AWS CLI·PowerShell·IMDS로 이를 확인하는 방법을 살펴볼게요.
출처: 문서
본문
Amazon EC2에 저장한 키 페어를 설명할 수 있어요. 공개 키 자료를 검색하고 시작 시 지정한 공개 키를 식별할 수도 있어요.
키 페어 설명하기
Amazon EC2에 저장된 공개 키에 대해 다음 정보를 볼 수 있어요: 공개 키 이름, ID, 키 유형, 지문(fingerprint), 공개 키 자료, Amazon EC2가 키를 만든 날짜·시간(UTC 시간대, 제3자 도구로 만든 키라면 Amazon EC2로 가져온 날짜·시간), 공개 키와 연결된 모든 태그.
Console(콘솔) —
키 페어 정보를 보려면
- Amazon EC2 콘솔을 https://console.aws.amazon.com/ec2/에서 엽니다.
- 왼쪽 탐색기에서 Key Pairs를 선택합니다.
- Key pairs 표에서 각 공개 키에 대한 정보를 볼 수 있어요.
- 공개 키의 태그를 보려면 키 옆 체크박스를 선택한 다음 Actions, Manage tags를 선택합니다.
AWS CLI —
키 페어 정보를 보려면
describe-key-pairs 명령을 사용합니다.
aws ec2 describe-key-pairs --key-names key-pair-name
PowerShell —
키 페어 정보를 보려면
Get-EC2KeyPair cmdlet을 사용합니다.
Get-EC2KeyPair -KeyName key-pair-name
공개 키 자료 검색하기
키 페어의 공개 키 자료를 얻을 수 있어요. 다음은 공개 키 예시예요. 참고로 가독성을 위해 줄바꿈이 추가됐어요.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
Private key —
ssh-keygen으로 공개 키 자료를 검색하려면(Linux)
로컬 Linux 또는 macOS 컴퓨터에서 ssh-keygen 명령을 사용합니다. 개인 키를 다운로드한 경로(.pem 파일)를 지정하세요.
ssh-keygen -y -f /path_to_key_pair/my-key-pair.pem
이 ssh-keygen 명령이 실패하면 다음 chmod 명령을 실행해 개인 키 파일에 필요한 권한이 있는지 확인하세요.
chmod 400 key-pair-name.pem
PuTTYgen으로 공개 키 자료를 검색하려면(Windows)
로컬 Windows 컴퓨터에서 PuTTYgen을 시작합니다. Load를 선택합니다. .ppk 또는 .pem 개인 키 파일을 선택합니다. PuTTYgen은 Public key for pasting into OpenSSH authorized_keys file 아래에 공개 키를 표시해요. Save public key를 선택해 파일 이름을 지정하고 파일을 저장한 다음 파일을 열어 공개 키를 볼 수도 있어요.
AWS CLI —
공개 키 자료를 검색하려면
다음 describe-key-pairs 명령을 사용하고 --include-public-key 옵션을 지정합니다.
aws ec2 describe-key-pairs \
--key-names key-pair-name \
--include-public-key \
--query "KeyPairs[].PublicKey"
PowerShell —
공개 키 자료를 검색하려면
Get-EC2KeyPair cmdlet을 사용합니다.
(Get-EC2KeyPair -KeyName key-pair-name -IncludePublicKey $true).PublicKey
IMDSv2 —
Linux
Linux 인스턴스에서 다음 명령을 실행합니다.
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" http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
Windows
Windows 인스턴스에서 다음 cmdlet을 실행합니다.
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
IMDSv1 —
Linux
Linux 인스턴스에서 다음 명령을 실행합니다.
curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
Windows
Windows 인스턴스에서 다음 cmdlet을 실행합니다.
Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
시작 시 지정한 공개 키 식별하기
인스턴스를 시작할 때 공개 키를 지정하면 공개 키 이름이 인스턴스에 기록돼요. 인스턴스에 대해 보고되는 공개 키 이름은, 인스턴스에서 공개 키를 변경하거나 공개 키를 추가해도 바뀌지 않아요.
Console(콘솔) —
인스턴스 시작 시 지정한 공개 키를 식별하려면
- Amazon EC2 콘솔을 https://console.aws.amazon.com/ec2/에서 엽니다.
- 탐색 창에서 Instances를 선택합니다.
- 인스턴스를 선택합니다.
- Details 탭의 Instance details 아래에서 Key pair assigned at launch를 찾습니다.
AWS CLI —
인스턴스 시작 시 지정한 공개 키를 식별하려면
다음 describe-instances 명령을 사용합니다.
aws ec2 describe-instances \
--instance-id i-1234567890abcdef0 \
--query "Reservations[].Instances[].KeyName" \
--output text
다음은 출력 예시예요.
key-pair-name
PowerShell —
인스턴스 시작 시 지정한 공개 키를 식별하려면
Get-EC2Instance cmdlet을 사용합니다.
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances | Select KeyName
다음은 출력 예시예요.
KeyName
-------
key-pair-name