Amazon EC2 Linux 인스턴스에 SSH 액세스 권한이 있는 새 사용자 계정을 추가하려면 어떻게 해야 하나요?

5분 분량
0

SSH를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스에 연결할 수 있는 새 사용자 계정을 추가하고 싶습니다.

간략한 설명

모든 Amazon EC2 Linux 인스턴스는 인스턴스에 대한 관리 액세스 권한이 있는 기본 시스템 사용자 계정으로 시작됩니다. 여러 사용자가 인스턴스에 액세스해야 하는 경우 사용자마다 별도의 계정을 사용하는 것이 가장 좋은 보안 방법입니다.

cloud-init 및 사용자 데이터를 사용하여 이러한 단계를 신속하게 수행할 수 있습니다. 자세한 내용은 cloud-init 및 사용자 데이터를 사용하여 SSH 액세스 권한이 있는 새 사용자 계정을 EC2 인스턴스에 추가하려면 어떻게 해야 하나요?를 참조하세요.

해결 방법

새 사용자 계정에 대한 키 페어 생성

Amazon EC2 콘솔을 사용하여 키 페어 생성

1.Amazon EC2 콘솔을 엽니다.

2.네트워크 및 보안, 키 페어를 선택합니다.

3.키 페어 생성을 선택합니다.

4.이름에 키 페어를 설명하는 이름을 입력합니다. Amazon EC2는 퍼블릭 키를 사용자가 키 이름으로 지정한 이름과 연결합니다. 키 이름에는 선행 또는 후행 공백 없이 최대 255자의 ASCII 문자를 포함할 수 있습니다.

5.키 페어 유형에서 RSA 또는 ED25519를 선택합니다.

6.프라이빗 키 파일 형식의 경우 프라이빗 키를 저장할 형식을 선택합니다. pem을 선택하여 OpenSSH에서 사용할 수 있는 형식으로 프라이빗 키를 저장합니다. 프라이빗 키를 PuTTY에서 사용할 수 있는 형식으로 저장하려면 ppk를 선택합니다.

7.퍼블릭 키에 태그를 추가하려면 **Add tag(태그 추가)**를 선택하고 태그의 키와 값을 입력합니다. 각 태그에 대해 반복합니다.

8.키 페어 생성을 선택합니다.

9.프라이빗 키 파일이 자동으로 다운로드됩니다. 기본 파일 이름은 키 페어의 이름으로 지정한 이름입니다. 파일 이름 확장자는 선택한 파일 형식에 따라 결정됩니다. 프라이빗 키 파일을 안전한 장소에 저장합니다.

10.macOS 또는 Linux 컴퓨터에서 SSH 클라이언트를 사용하여 Linux 인스턴스에 연결하는 경우, 다음 명령을 실행합니다.

chmod 400 key-pair-name.pem

위 명령은 사용자만 읽을 수 있도록 프라이빗 키 파일의 권한을 설정합니다.이러한 권한을 설정하지 않으면 이 키 페어를 사용하여 인스턴스에 연결할 수 없습니다. 자세한 내용은 오류: Unprotected private key file을 참조하세요.

AWS Command Line Interface(AWS CLI)를 사용하여 키 페어 생성

**참고:**AWS CLI 명령을 실행할 때 오류가 발생하면 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

1.create-key-pair 명령을 사용하여 키 페어를 생성하고 프라이빗 키를 .pem 파일에 저장합니다.

--key-name에는 퍼블릭 키의 이름을 지정합니다. 이름은 최대 255자의 ASCII 문자일 수 있습니다.

--key-type의 경우 rsa 또는 ed25519를 지정합니다. --key-type 파라미터를 포함하지 않으면 기본적으로 rsa 키가 생성됩니다. 참고로 ED25519 키는 Windows 인스턴스에서 지원되지 않습니다.

--key-format의 경우 pem 또는 ppk를 지정합니다. --key-format 파라미터를 포함하지 않으면 기본적으로 pem 파일이 생성됩니다.

**--query "KeyMaterial"**은 프라이빗 키 구성 요소를 결과에 출력합니다.

--output text > my-key-pair.pem은 프라이빗 키 구성 요소를 지정된 확장명의 파일에 저장합니다. 확장자는 .pem 또는 .ppk일 수 있습니다. 프라이빗 키의 이름은 퍼블릭 키 이름과 다를 수 있지만 쉽게 알아보도록 동일한 이름을 사용해야 합니다.

aws ec2 create-key-pair \
    --key-name my-key-pair \
    --key-type rsa \
    --key-format pem \
    --query "KeyMaterial" \
    --output text > my-key-pair.pem>

2. macOS 또는 Linux 컴퓨터에서 SSH 클라이언트를 사용하여 Linux 인스턴스에 연결하는 경우, 다음 명령을 실행합니다.

chmod 400 key-pair-name.pem

위 명령은 사용자만 읽을 수 있도록 프라이빗 키 파일의 권한을 설정합니다.이러한 권한을 설정하지 않으면 이 키 페어를 사용하여 인스턴스에 연결할 수 없습니다. 자세한 내용은 오류: Unprotected private key file을 참조하세요.

EC2 Linux 인스턴스에 새 사용자 추가

1.SSH를 사용하여 Linux 인스턴스에 연결합니다.

2.adduser 명령을 사용하여 EC2 인스턴스에 새 사용자 계정을 추가합니다(new_user를 새 계정 이름으로 대체). 다음 예제에서는 연결된 그룹, 홈 디렉터리 및 인스턴스 /etc/passwd 파일의 항목을 생성합니다.

$ sudo adduser new_user

일부 구성에서는 홈 디렉터리가 기본적으로 생성되지 않을 수 있습니다. 계속하기 전에 홈 디렉터리가 생성되었는지 확인하세요.

**참고:**Ubuntu 인스턴스에 new_user를 추가하는 경우 새 계정에 암호가 추가되지 않도록 --disabled-password 옵션을 포함하세요.

$ sudo adduser new_user --disabled-password

3.생성한 폴더 및 파일에 올바른 권한이 부여되도록 보안 컨텍스트를 new_user 계정으로 변경합니다.

$ sudo su - new_user

**참고:**sudo su - new\ _user 명령을 실행하면 명령 쉘 프롬프트 상단의 이름이 쉘 세션의 새 사용자 계정 컨텍스트를 반영하도록 변경됩니다.

4.new_user 홈 디렉터리에 .ssh 디렉터리를 생성합니다.

$ mkdir .ssh

5.chmod 명령을 사용하여 .ssh 디렉터리의 권한을 700으로 변경합니다. 권한을 변경하면 액세스가 제한되므로 new_user.ssh디렉터리를 읽고 쓰거나 열 수 있습니다.

$ chmod 700 .ssh

6.touch 명령을 사용하여 .ssh디렉터리에 authorized_keys 파일을 생성합니다.

$ touch .ssh/authorized_keys

7.chmod 명령을 사용하여 .ssh/authorized_keys 파일 권한을 600으로 변경합니다. 파일 권한을 변경하면 new_user에 대한 읽기 또는 쓰기 액세스가 제한됩니다.

$ chmod 600 .ssh/authorized_keys

키 페어의 퍼블릭 키 검색

구성에 적용되는 방법을 사용하여 키 페어의 퍼블릭 키를 검색합니다.

키 페어의 지문 확인

자체 퍼블릭 키를 가져오거나 키 페어의 퍼블릭 키를 검색한 후 키 페어의 지문 확인에 나온 단계를 따르세요.

새 사용자 계정 보안 인증 업데이트 및 확인

공개 키를 검색한 후 이 계정의 .ssh/authorized_keys 파일에 퍼블릭 키를 추가할 수 있는 권한이 있는지 확인합니다.

1.추가 모드에서 Linux cat 명령을 실행합니다.

$ cat >> .ssh/authorized_keys

2.퍼블릭 키를 .ssh/authorized_keys 파일에 붙여 넣은 다음, Enter 키를 누릅니다.

**참고:**대부분의 Linux 명령줄 인터페이스에서 Ctrl+Shift+V 키 조합은 클립보드의 내용을 명령줄 창에 붙여 넣습니다. PuTTY 명령줄 인터페이스의 경우 마우스 오른쪽 버튼을 클릭하여 클립보드의 내용을 PuTTY 명령줄 창에 붙여 넣습니다.

3.Ctrl+d를 길게 눌러 cat을 종료하고 명령줄 세션 프롬프트로 돌아갑니다.

새 사용자가 SSH를 사용하여 EC2 인스턴스에 연결할 수 있는지 확인

1.로컬 컴퓨터의 명령줄 프롬프트에서 다음 명령을 실행합니다.

$ ssh -i /path/new_key_pair.pem new_user@public_dns_name_of_EC2_Linux_instance

Windows에서 SSH를 사용하여 EC2 Linux 인스턴스에 연결하려면 PuTTY를 사용하여 Windows에서 Linux 인스턴스에 연결의 단계를 따르세요.

참고: 연결을 시도할 때 오류가 발생하는 경우 인스턴스 연결 문제 해결을 참조하세요.

2.인스턴스의 명령줄에서 id 명령을 실행하여 new_user 계정에 대해 생성된 사용자 및 그룹 정보를 확인합니다.

$ id

id 명령은 다음과 유사한 정보를 반환합니다.

uid=1004(new_user) gid=1004(new_user) groups=1004(new_user)

3.새 사용자에게 프라이빗 키 파일을 배포합니다.

관련 정보

Linux 인스턴스의 사용자 관리

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