Amazon EC2 인스턴스에 대한 키 페어 생성
Amazon EC2를 사용하여 키 페어를 생성하거나 서드 파티 도구를 사용하여 키 페어를 생성한 후에 Amazon EC2로 가져올 수 있습니다.
Amazon EC2는 Linux 및 Windows 인스턴스에 대해 2048비트 SSH-2 RSA 키를 지원합니다. Amazon EC2는 Linux 인스턴스에 대한 ED25519 키도 지원합니다.
키 페어를 생성한 후 인스턴스에 연결하는 방법에 대한 지침은 SSH를 사용하여 Linux 인스턴스에 연결 및 RDP를 사용하여 Windows 인스턴스에 연결 섹션을 참조하세요.
내용
Amazon EC2를 사용하여 키 페어 생성
Amazon EC2 사용하여 키 페어를 생성할 때 퍼블릭 키는 Amazon EC2에 저장되며 프라이빗 키는 사용자가 저장합니다.
리전당 최대 5,000개의 키 페어를 생성할 수 있습니다. 증가를 요청하려면 지원 케이스를 생성합니다. 자세한 내용을 알아보려면 AWS Support 사용 설명서의 지원 사례 만들기를 참조하세요.
AWS CloudFormation을 사용하여 키 페어 생성
AWS CloudFormation을 사용하여 새 키 페어를 생성하면 프라이빗 키가 AWS Systems Manager 파라미터 스토어에 저장됩니다. 다음은 파라미터 이름의 형식입니다.
/ec2/keypair/key_pair_id
자세한 내용을 알아보려면 AWS Systems Manager 사용 설명서의 AWS Systems Manager Parameter Store를 참조하세요.
AWS CloudFormation을 사용하여 키 페어를 생성하려면
-
템플릿에서 AWS::EC2::KeyPair 리소스를 사용합니다.
Resources: NewKeyPair: Type: 'AWS::EC2::KeyPair' Properties: KeyName: new-key-pair
-
다음과 같이 describe-key-pairs 명령을 사용하여 키 페어의 ID를 가져옵니다.
aws ec2 describe-key-pairs --filters Name=key-name,Values=
new-key-pair
--query KeyPairs[*].KeyPairId --output text출력의 예시는 다음과 같습니다.
key-05abb699beEXAMPLE
-
다음과 같이 get-parameter 명령을 사용하여 키의 파라미터를 가져오고 키 구성 요소를
.pem
파일에 저장합니다.aws ssm get-parameter --name /ec2/keypair/
key-05abb699beEXAMPLE
--with-decryption --query Parameter.Value --output text >new-key-pair.pem
필수 IAM 권한
AWS CloudFormation이 사용자를 대신하여 파라미터 스토어 파라미터를 관리할 수 있도록 하려면 AWS CloudFormation 또는 사용자가 수임하는 IAM 역할에 다음 권한이 있어야 합니다.
-
ssm:PutParameter
- 이 프라이빗 키 구성 요소에 대한 파라미터를 생성할 수 있는 권한을 부여합니다. -
ssm:DeleteParameter
- 프라이빗 키 구성 요소를 저장하는 데 사용된 파라미터를 삭제할 권한을 부여합니다. 이 권한은 AWS CloudFormation에서 키 페어를 가져왔거나 생성했는지에 관계없이 필요합니다.
AWS CloudFormation은 키 페어를 생성할 때만 파라미터를 생성하고 키 페어를 가져올 때는 파라미터를 생성하지 않지만, 스택에 의해 생성되거나 가져온 키 페어를 삭제할 때 AWS CloudFormation은 권한 확인을 수행하여 사용자에게 파라미터를 삭제할 권한이 있는지 확인합니다. AWS CloudFormation은 사용자 계정의 파라미터와 일치하지 않는 조작된 파라미터 이름을 사용하여 필요한 권한을 테스트합니다. 따라서 AccessDeniedException
오류 메시지에 조작된 파라미터 이름이 표시될 수 있습니다.
서드 파티 도구를 사용하여 키 페어를 생성하고 Amazon EC2로 퍼블릭 키 가져오기
Amazon EC2를 사용하여 키 페어를 생성하는 대신에 서드 파티 도구를 사용하여 RSA 또는 ED25519 키 페어를 생성한 다음에 Amazon EC2로 퍼블릭 키를 가져올 수 있습니다.
키 페어에 대한 요구 사항
-
지원되는 유형:
-
(Linux 및 Windows) RSA
-
(Linux만 해당) ED25519
참고
ED25519 키는 Windows 인스턴스에서 지원되지 않습니다.
-
Amazon EC2는 DSA 키를 허용하지 않습니다.
-
-
지원되는 형식:
-
OpenSSH 퍼블릭 키 형식(Linux의 경우
~/.ssh/authorized_keys
의 형식) -
(Linux만 해당) EC2 Instance Connect API를 사용하는 동안 SSH를 사용하여 연결하는 경우 SSH2 형식도 지원됩니다.
-
SSH 프라이빗 키 파일 형식은 PEM 또는 PPK이어야 함
-
(RSA만 해당) Base64 인코딩 DER 형식
-
(RSA만 해당) RFC 4716
에 지정된 SSH 퍼블릭 키 파일 형식
-
-
지원되는 길이:
-
1024, 2048, 4096.
-
(Linux만 해당) EC2 Instance Connect API를 사용하는 동안 SSH를 사용하여 연결하는 경우 지원되는 길이는 2048 및 4096입니다.
-
타사 도구를 이용한 키 페어 만들기
-
타사 도구로 원하는 키 페어를 생성합니다. 예를 들어 ssh-keygen(표준 OpenSSH 설치 시 제공되는 도구)을 사용할 수 있습니다. 또는 Java, Ruby, Python 등 각종 프로그래밍 언어에서 제공하는 표준 라이브러리를 사용하여 키 페어를 생성해도 됩니다.
중요
프라이빗 키는 PEM 또는 PPK 형식이어야 합니다. 예를 들어
ssh-keygen -m PEM
을 사용하여 PEM 형식으로 OpenSSH 키를 생성합니다. -
퍼블릭 키는 로컬 파일에 저장합니다. 예:
~/.ssh/my-key-pair.pub
(Windows, macOS) 또는C:\keys\my-key-pair.pub
(Windows). 이 파일의 파일 이름 확장자는 중요하지 않습니다. -
프라이빗 키를 확장자가
.pem
또는.ppk
인 로컬 파일에 저장합니다. 예:~/.ssh/my-key-pair.pem
~/.ssh/my-key-pair.ppk
(Linux, macOS) 또는C:\keys\my-key-pair.pem
C:\keys\my-key-pair.ppk
(Windows). 파일 확장자는 인스턴스에 연결하는 데 사용하는 도구에 따라 특정 파일 형식이 필요하므로 중요합니다. OpenSSH에는.pem
파일이 필요한 반면, PuTTY에는.ppk
파일이 필요합니다.중요
프라이빗 키 파일을 안전한 장소에 저장합니다. 인스턴스를 시작할 때 퍼블릭 키의 이름을 제공하고, 인스턴스에 연결할 때마다 해당 프라이빗 키를 제공해야 합니다.
키 페어를 만든 후 다음 방법 중 하나를 사용하여 퍼블릭 키를 Amazon EC2로 가져옵니다.