내용으로 건너뛰기

cloud-init와 사용자 데이터를 사용하여 SSH 액세스 권한이 있는 새 사용자 AWS 계정을 EC2 Linux 인스턴스에 추가하려면 어떻게 해야 합니까?

3분 분량
0

SSH를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스에 연결할 수 있는 추가 사용자를 만들려고 합니다.

간략한 설명

다음 작업을 수행하는 사용자 데이터 명령을 포함시킵니다.

  • 새 사용자를 만듭니다.
  • 사용자에게 sudo 권한을 부여합니다.
  • authorized_keys 파일에 SSH 퍼블릭 키를 추가합니다.

해결 방법

중요: 인스턴스를 변경하기 전에 다음을 검토하십시오.

다음 단계를 완료하십시오.

  1. SSH 또는 Session Manager를 사용하여 인스턴스에 로그인합니다.

  2. cloud-init이 설치되었는지 확인하려면 다음 명령을 실행합니다.

    $ cloud-init -v

    명령에서 오류가 반환되면 다음 명령을 실행하여 Linux 배포판에 인스턴스를 설치합니다.

    Debian 기반 인스턴스의 경우

    $ sudo apt-get install cloud-init

    RPM 기반 인스턴스의 경우

    sudo dnf install cloud-init

    Suse 인스턴스의 경우

    zypper install cloud-init
  3. cloud-init의 설치를 확인한 후 계속해서 인스턴스를 중지합니다.
    참고: 중지 작업을 사용할 수 없는 경우 인스턴스가 이미 중지되었거나 해당 루트 디바이스가 인스턴스 저장소 볼륨입니다.

  4. 프라이빗 키에서 퍼블릭 키를 생성하여 새 사용자에게 연결합니다.
    참고: 퍼블릭 키를 받으려면 키 페어 또는 프라이빗 키가 있어야 합니다. 키 페어를 생성하려면 Amazon EC2 인스턴스용 키 페어 생성을 참조하십시오. SSH 보안을 위해서는 EC2 콘솔 또는 타사 도구를 통해 키 페어를 생성하는 것이 좋습니다.
    퍼블릭 키를 검색하려면 다음 명령을 실행합니다. 프라이빗 키에 암호가 있는 경우 메시지가 표시되면 해당 암호를 입력합니다.

    $ ssh-keygen -f <private_key_file> -y
  5. 다음 명령에 퍼블릭 키를 삽입한 후 이 명령으로 user-data 필드를 업데이트합니다.
    인스턴스를 선택합니다.
    탐색 창에서 작업을 선택한 다음, 인스턴스 설정을 선택합니다.
    사용자 데이터 편집을 선택한 다음, 필드에 스크립트를 붙여넣습니다.
    참고: 자리 표시자 username을 사용하려는 사용자 이름으로 바꾸십시오. ssh-rsa AB3nzExample의 경우, 퍼블릭 키를 입력합니다. Debian 인스턴스를 사용하는 경우 groups 값을 wheel에서 sudo로 변경하십시오.

    #cloud-config
    cloud_final_modules:
    - [users-groups,always]
    users:
      - name:username
        groups: [ wheel ]
        shell: /bin/bash
        sudo: ["ALL=(ALL) NOPASSWD:ALL"]
         ssh-authorized-keys:
         - ssh-rsa AB3nzExample

    이전 명령은 무제한 액세스 권한을 가진 사용자를 생성합니다. 사용자의 sudo 액세스를 차단하려면 sudo의 값을 false로 설정합니다. 자세한 내용은 cloud-init 웹 사이트에서 클라우드 구성 예제를 참조하십시오.
    참고: 기본적으로 클라우드 초기화 지시어는 인스턴스가 시작될 때만 실행됩니다. 그러나 이 사용자 데이터 스크립트를 사용하면 클라우드 초기화는 인스턴스가 재부팅되거나 다시 시작될 때마다 인스턴스에 공개 키를 추가합니다. 사용자 데이터 스크립트를 제거하면 기본 기능이 복원됩니다.

  6. 저장을 선택합니다.

  7. 작업을 선택하고 인스턴스 상태를 선택한 다음, 시작을 선택합니다.

  8. 인스턴스가 실행 중 상태에 도달하면 새 사용자로 로그인합니다. 새 사용자는 ec2-user와 기본 동작이 동일합니다.
    참고: ModifyInstanceAttribute API 작업을 사용하여 인스턴스의 사용자 데이터를 수정하십시오. AWS Identity and Access Management(IAM) 정책을 생성하여 이 작업을 제한하십시오.

관련 정보

키 쌍 표시

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

AWS 공식업데이트됨 일 년 전