Amazon EC2 키 페어 및 Linux 인스턴스
프라이빗 키와 퍼블릭 키로 구성된 키 페어는 인스턴스에 연결할 때 자격 증명 입증에 사용하는 보안 자격 증명 집합입니다. Amazon EC2는 퍼블릭 키를 저장하고 사용자는 프라이빗 키를 저장합니다. 암호 대신 프라이빗 키를 사용하여 인스턴스에 안전하게 액세스할 수 있습니다. 프라이빗 키를 소유하는 사람은 누구나 인스턴스에 연결할 수 있으므로 보안된 위치에 프라이빗 키를 저장해 두는 것이 중요합니다.
인스턴스를 시작할 때 키 페어를 입력하라는 메시지가 표시됩니다. SSH을 사용하여 인스턴스에 연결하려는 경우 키 페어를 지정해야 합니다. 기존 키 페어를 선택하거나 새로 만들 수 있습니다. 인스턴스가 처음 부팅될 때 시작 시 지정한 퍼블릭 키의 콘텐츠가 Linux 인스턴스에 있는 ~/.ssh/authorized_keys
내 항목에 배치됩니다. SSH를 사용하여 Linux 인스턴스에 연결할 때 로그인하려면 퍼블릭 키 콘텐츠에 해당하는 프라이빗 키를 지정해야 합니다.
인스턴스 연결에 대한 자세한 내용은 Linux 인스턴스에 연결합니다단원을 참조하십시오. 키 페어 및 Windows 인스턴스에 대한 자세한 내용은 Windows 인스턴스용 Amazon EC2 사용 설명서의 Amazon EC2 키 페어 및 Windows 인스턴스를 참조하세요.
Amazon EC2에는 프라이빗 키의 사본이 보관되지 않으므로, 프라이빗 키를 분실하면 이를 복구할 방법이 전혀 없습니다. 그러나 분실된 프라이빗 키를 사용하는 인스턴스에 연결하는 방법은 여전히 있을 수 있습니다. 자세한 내용은 프라이빗 키를 분실한 경우 Linux 인스턴스에 연결 섹션을 참조하세요.
Amazon EC2에서 사용되는 키는 2048비트 SSH-2 RSA 키입니다. 리전당 최대 5,000개의 키 페어를 가질 수 있습니다.
목차
키 페어 생성 또는 가져오기
Amazon EC2를 사용하여 새 키 페어를 생성하거나 기존 키 페어를 가져올 수 있습니다.
옵션 1: Amazon EC2를 사용하여 키 페어 생성
다음 방법 중 하나를 사용하여 키 페어를 만들 수 있습니다.
옵션 2: Amazon EC2로 사용자의 퍼블릭 키 가져오기
Amazon EC2를 사용하지 않고 키 페어를 만들었다면 타사 도구를 사용하여 RSA 키 페어를 만든 후 Amazon EC2로 퍼블릭 키를 가져올 수 있습니다.
키 페어에 대한 요구 사항
-
지원되는 형식은 다음과 같습니다.
-
OpenSSH 퍼블릭 키 형식 (
~/.ssh/authorized_keys
형식). EC2 Instance Connect API를 사용하는 동안 SSH를 사용하여 연결하는 경우 SSH2 형식도 지원됩니다. -
Base64 인코딩 DER 형식
-
RFC4716
에 지정된 SSH 퍼블릭 키 파일 형식 -
SSH 프라이빗 키 파일 형식은 PEM이어야 합니다.
-
-
RSA 키를 생성하십시오. Amazon EC2에서 DSA 키는 허용되지 않습니다.
-
지원되는 길이는 1024, 2048, 4096입니다. EC2 Instance Connect API를 사용하는 동안 SSH를 사용하여 연결하는 경우 지원되는 길이는 2048 및 4096입니다.
타사 도구를 이용한 키 페어 만들기
-
타사 도구로 원하는 키 페어를 생성합니다. 예를 들어 ssh-keygen(표준 OpenSSH 설치 시 제공되는 도구)을 사용할 수 있습니다. 또는 Java, Ruby, Python 등 각종 프로그래밍 언어에서 제공하는 표준 라이브러리를 사용하여 RSA 키 페어를 만들어도 됩니다.
중요 프라이빗 키는 PEM 형식이어야 합니다. 예를 들어
ssh-keygen -m PEM
을 사용하여 PEM 형식으로 OpenSSH 키를 생성합니다. -
퍼블릭 키는 로컬 파일에 저장합니다. 예:
~/.ssh/my-key-pair.pub
. 이 파일의 파일 이름 확장자는 중요하지 않습니다. -
프라이빗 키를 확장자가
.pem
인 로컬 파일에 저장합니다. 예:~/.ssh/my-key-pair.pem
.중요 프라이빗 키 파일은 안전한 장소에 저장합니다. 인스턴스를 시작할 때 퍼블릭 키의 이름을 제공하고, 인스턴스에 연결할 때마다 해당 프라이빗 키를 제공해야 합니다.
키 페어를 만든 후 다음 방법 중 하나를 사용하여 퍼블릭 키를 Amazon EC2로 가져옵니다.
키 페어 태그 지정
기존 키 페어를 분류하고 관리할 수 있도록 사용자 지정 메타데이터로 태그를 지정할 수 있습니다. 태그 작동 방식에 대한 자세한 내용은 Amazon EC2 리소스 태깅 단원을 참조하십시오.
새 콘솔과 명령줄 도구를 사용하여 태그를 보고, 추가하고, 삭제할 수 있습니다.
키 페어에 대한 퍼블릭 키 검색
로컬 Linux 또는 macOS 컴퓨터에서 ssh-keygen 명령을 사용하여 키 페어의 퍼블릭 키를 검색할 수 있습니다. 프라이빗 키(.pem
파일)를 다운로드한 경로를 지정합니다.
ssh-keygen -y -f /
path_to_key_pair
/my-key-pair.pem
이 명령은 다음 예제와 같이 퍼블릭 키를 반환합니다.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
명령이 실패하는 경우 다음 명령을 실행하여 사용자 자신만 볼 수 있도록 키 페어 파일에 대한 권한이 변경되어 있는지 확인합니다.
chmod 400
my-key-pair
.pem
인스턴스 메타데이터를 통해 키 페어의 퍼블릭 키 검색
또한, 인스턴스를 시작할 때 지정한 퍼블릭 키는 해당 인스턴스 메타데이터를 통해 확인할 수 있습니다. 인스턴스를 시작할 때 지정한 퍼블릭 키를 보려면 인스턴스에서 다음 명령을 사용하면 됩니다.
인스턴스에 연결하는 데 사용하는 키 페어를 변경하면 새 퍼블릭 키가 표시되도록 인스턴스 메타데이터가 업데이트되지 않습니다. 대신 인스턴스 메타데이터는 인스턴스를 시작할 때 지정한 키 페어의 퍼블릭 키를 계속 표시합니다. 자세한 내용은 인스턴스 메타데이터 검색 섹션을 참조하세요.
Linux 인스턴스에서는 퍼블릭 키 내용이 ~/.ssh/authorized_keys
내 항목에 있습니다. 이 파일을 편집기에서 열 수 있습니다. 다음은 이름이 my-key-pair
인 키 페어에 대한 예시 항목입니다. 항목은 퍼블릭 키와 이 키 페어의 이름 순서로 구성됩니다.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair
인스턴스에서 퍼블릭 키 찾기
인스턴스를 시작할 때 키 페어를 입력하라는 메시지가 표시됩니다. SSH을 사용하여 인스턴스에 연결하려는 경우 키 페어를 지정해야 합니다. 기존 키 페어를 선택하거나 새로 만들 수 있습니다. 인스턴스가 처음 부팅될 때
시작 시 지정한 퍼블릭 키의 콘텐츠가 Linux 인스턴스에 있는 ~/.ssh/authorized_keys
내 항목에 배치됩니다.
인스턴스에서 퍼블릭 키를 찾으려면
-
인스턴스에 연결합니다. 자세한 내용은 Linux 인스턴스에 연결합니다 섹션을 참조하세요.
-
터미널 창에서 자주 사용하는 텍스트 편집기를 사용하여
authorized_keys
파일(예: vim 또는 nano)을 엽니다.[ec2-user ~]$
nano ~/.ssh/authorized_keys
authorized_keys
파일이 열리고 다음 예제와 같이 퍼블릭 키가 표시됩니다.ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6Vhz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXrlsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZqaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3RbBQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
시작 시 지정된 키 페어 식별
인스턴스를 시작할 때 키 페어를 입력하라는 메시지가 표시됩니다. SSH을 사용하여 인스턴스에 연결하려는 경우 키 페어를 지정해야 합니다.
(선택 사항) 키 페어의 지문 확인
Amazon EC2 콘솔에서 키 페어 페이지를 보면 지문 열에 키 페어에서 생성된 지문이 표시됩니다. AWS에 의한 지문 계산 값은 키 페어가 AWS와 타사 도구 중 어디서 생성되었는지에 따라 달라집니다. AWS를 사용하여 키 페어를 만든 경우 지문은 SHA-1 해시 함수를 통해 산출됩니다. 타사 도구로 키 페어를 만들고 AWS에 퍼블릭 키를 업로드한 경우이거나 기존 AWS에서 만든 프라이빗 키에서 새 퍼블릭 키를 생성하여 AWS에 업로드한 경우, 지문은 MD5 해시 함수를 통해 산출됩니다.
키 페어 페이지에 표시된 SSH2 지문을 사용하여 로컬 컴퓨터에 있는 프라이빗 키가 AWS에 저장된 퍼블릭 키와 일치하는지 확인할 수 있습니다. 프라이빗 키 파일을 다운로드한 컴퓨터에서 프라이빗 키 파일에서 SSH2 지문을 생성합니다. 이 경우 출력이 콘솔에 표시된 지문과 일치해야 합니다.
AWS를 사용하여 키 페어를 생성한 경우 다음 예제와 같이 OpenSSL 도구를 사용하여 지문을 생성할 수 있습니다.
$
openssl pkcs8 -in
path_to_private_key
-inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c
타사 도구를 사용하여 키 페어를 생성하고 AWS에 퍼블릭 키를 업로드한 경우, OpenSSL 도구를 사용하여 다음 예제와 같이 지문을 생성할 수 있습니다.
$
openssl rsa -in
path_to_private_key
-pubout -outform DER | openssl md5 -c
OpenSSH 7.8 이상을 사용하여 OpenSSH 키 페어를 생성하고 AWS에 퍼블릭 키를 업로드한 경우 ssh-keygen을 사용하여 다음 예제와 같이 지문을 생성할 수 있습니다.
$
ssh-keygen -ef
path_to_private_key
-m PEM | openssl rsa -RSAPublicKey_in -outform DER | openssl md5 -c
인스턴스에 대한 키 페어 추가 또는 교체
인스턴스의 기본 시스템 계정에 액세스하는 데 사용되는 키 페어를 변경할 수 있습니다. 예를 들어 조직 내 사용자가 별도의 키 페어를 사용하여 시스템
사용자 계정에 액세스해야 할 경우 인스턴스에 키 페어를 추가할 수 있습니다. 또는 누군가가(예: 퇴사자) .pem
파일의 사본을 보유하고 있어 이를 통한 인스턴스 연결을 금지하려는 경우 키 페어를 새 페어로 교체할 수 있습니다.
키 페어를 추가하거나 교체하려면 인스턴스에 연결할 수 있어야 합니다. 기존 프라이빗 키를 분실했거나 키 페어 없이 인스턴스를 시작한 경우 인스턴스에 연결할 수 없으므로 키 페어를 추가하거나 교체할 수 없습니다. 기존 프라이빗 키를 분실한 경우 검색할 수 있습니다. 자세한 내용은 프라이빗 키를 분실한 경우 Linux 인스턴스에 연결 섹션을 참조하세요. 키 페어 없이 인스턴스를 시작한 경우 사용자가 다른 방법으로 로그인할 수 있도록 구성된 AMI를 선택해야만 인스턴스에 연결할 수 있습니다.
이러한 절차는 기본 사용자 계정(예: ec2-user
)의 키 페어를 수정하는 것입니다. 인스턴스에 사용자 계정을 추가하는 것에 대한 자세한 내용은 Amazon Linux 인스턴스에서 사용자 계정 관리 단원을 참조하십시오.
키 페어를 추가 또는 교체하는 방법
-
Amazon EC2 콘솔 또는 타사 도구를 사용하여 새 키 페어를 만듭니다.
-
새 키 페어에서 퍼블릭 키를 검색합니다. 자세한 내용은 키 페어에 대한 퍼블릭 키 검색 섹션을 참조하세요.
-
기존의 프라이빗 키 파일을 사용하여 인스턴스에 연결합니다.
-
원하는 텍스트 편집기를 사용하여 인스턴스에서
.ssh/authorized_keys
파일을 엽니다. 새 키 페어의 퍼블릭 키 정보를 기존 퍼블릭 키 정보 아래에 붙여넣습니다. 파일을 선택합니다. -
인스턴스 연결을 해제하고 새 프라이빗 키 파일을 사용하여 인스턴스에 연결할 수 있는지 테스트합니다.
-
(선택 사항) 기존 키 페어를 교체하는 경우 인스턴스에 연결하고
.ssh/authorized_keys
파일에서 원래 키 페어의 퍼블릭 키 정보를 삭제합니다.
Auto Scaling 그룹을 사용 중인 경우 교체하려는 키 페어가 시작 템플릿 또는 시작 구성에서 지정되지 않았는지 확인하십시오. 비정상 인스턴스가 발견될 경우 Amazon EC2 Auto Scaling에서 대체 인스턴스를 시작하지만, 키 페어를 찾을 수 없으면 인스턴스 시작에 실패합니다.
키 페어 삭제
키 페어 삭제는 곧 Amazon EC2의 퍼블릭 키 사본만 삭제하는 것을 의미합니다. 키 페어를 삭제하더라도 컴퓨터에 있는 프라이빗 키나 해당 키
페어를 사용하여 이전에 시작한 임의의 인스턴스에 대한 퍼블릭 키에는 영향이 미치지 않습니다. 삭제된 키 페어를 사용하여 새 인스턴스를 시작할 수는
없지만, 프라이빗 키(.pem
) 파일을 계속 보유하고 있다면 삭제된 키 페어를 사용하여 시작한 임의의 인스턴스에 계속해서 연결할 수는 있습니다.
Auto Scaling 그룹을 사용 중인 경우(예: Elastic Beanstalk 환경에서 사용), 삭제하려는 키 페어가 시작 구성에서 지정되지 않았는지 확인하십시오. 비정상 인스턴스가 발견될 경우 Amazon EC2 Auto Scaling에서 대체 인스턴스를 시작하지만, 키 페어를 찾을 수 없으면 인스턴스 시작에 실패합니다.
다음 방법 중 하나를 사용하여 키 페어를 삭제할 수 있습니다.
인스턴스에서 Linux AMI를 생성한 후 AMI를 사용하여 다른 리전 또는 계정에서 새 인스턴스를 시작하는 경우 새 인스턴스에 원본 인스턴스의 키
페어가 포함됩니다. 이를 통해 원본 인스턴스와 동일한 프라이빗 키 파일을 사용하여 새 인스턴스에 연결할 수 있습니다. 원하는 텍스트 편집기를 사용해
.ssh/authorized_keys
파일에서 항목을 제거하여 인스턴스에서 이 퍼블릭 키를 제거할 수 있습니다. 인스턴스의 사용자 관리 및 특정 키 페어를 사용하여 원격 액세스 제공에
대한 자세한 내용은 Amazon Linux 인스턴스에서 사용자 계정 관리 단원을 참조하십시오.