Linux 인스턴스에서 사용자 관리 - Amazon Elastic Compute Cloud

Linux 인스턴스에서 사용자 관리

각 Linux 인스턴스는 기본 Linux 시스템 사용자로 시작됩니다. 인스턴스에 사용자를 추가하고 삭제할 수 있습니다.

기본 사용자의 경우 기본 사용자 이름은 인스턴스를 시작할 때 지정된 AMI에 의해 결정됩니다.

참고

기본적으로 암호 인증 및 루트 로그인은 비활성화되어 있고 sudo는 활성화되어 있습니다. 인스턴스에 로그인하려면 키 페어를 사용해야 합니다. 로그인에 대한 자세한 내용을 알아보려면 Linux 인스턴스에 연결합니다 섹션을 참조하세요.

인스턴스에 암호 인증 및 루트 로그인을 사용할 수 있습니다. 자세한 내용은 운영 체제 설명서를 참조하세요.

참고

Linux 시스템 사용자를 IAM 사용자와 혼동해서는 안 됩니다. 자세한 내용은 IAM 사용 설명서에서 IAM 사용자를 참조하세요.

기본 사용자 이름

EC2 인스턴스의 기본 사용자 이름은 인스턴스를 시작할 때 지정된 AMI에 의해 결정됩니다.

기본 사용자 이름은 다음과 같습니다.

  • AL2023, Amazon Linux 2 또는 Amazon Linux AMI의 사용자 이름은 ec2-user입니다.

  • CentOS AMI의 경우 사용자 이름은 centos 또는 ec2-user입니다.

  • Debian AMI의 경우 사용자 이름은 admin입니다.

  • Fedora AMI의 경우 사용자 이름은 fedora 또는 ec2-user입니다.

  • RHEL AMI의 경우 사용자 이름은 ec2-user 또는 root입니다.

  • SUSE AMI의 경우 사용자 이름은 ec2-user 또는 root입니다.

  • Ubuntu AMI의 경우 사용자 이름은 ubuntu입니다.

  • Oracle AMI의 경우 사용자 이름은 ec2-user입니다.

  • Bitnami AMI의 경우 사용자 이름은 bitnami입니다.

참고

다른 Linux 배포에 사용할 기본 사용자 이름을 찾으려면 AMI 제공업체에 문의하세요.

고려 사항

기본 사용자를 사용하면 많은 애플리케이션에 적합합니다. 그러나 개인이 자신의 파일과 작업 영역을 가질 수 있도록 사용자를 추가하도록 선택할 수 있습니다. 게다가 신규 사용자를 생성하는 방법은 사용이 미숙할 수 있는 여러 사용자에게 기본 사용자 액세스를 허용하는 방법보다 보안상 훨씬 안전합니다. 기본 사용자는 잘못 사용될 경우 시스템에 심각한 손상을 줄 수 있기 때문입니다. 자세한 내용은 EC2 인스턴스의 보안 유지를 위한 팁을 참조하세요.

Linux 시스템 사용자를 사용하는 EC2 인스턴스에 대한 사용자 SSH 액세스를 활성화하려면 해당 사용자와 SSH 키를 공유해야 합니다. 또는 EC2 인스턴스 연결을 사용하면 SSH 키를 공유하고 관리하지 않아도 사용자에게 액세스 권한을 제공할 수 있습니다. 자세한 내용은 EC2 Instance Connect를 사용하여 Linux 인스턴스에 연결 단원을 참조하십시오.

사용자 생성

먼저 사용자를 생성한 다음, 사용자의 연결을 허용하는 SSH 퍼블릭 키를 추가하고 인스턴스에 로그인하세요.

사용자를 생성하는 방법
  1. 새 키 페어를 생성합니다. 사용자를 생성할 사용자에게 .pem 파일을 제공해야 합니다. 이 파일을 사용하여 인스턴스에 연결해야 합니다.

  2. 이전 단계에서 생성한 키 페어에서 퍼블릭 키를 검색합니다.

    $ ssh-keygen -y -f /path_to_key_pair/key-pair-name.pem

    이 명령은 다음 예제와 같이 퍼블릭 키를 반환합니다.

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6Vhz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXrlsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZqaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3RbBQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
  3. 인스턴스에 연결합니다.

  4. adduser 명령을 사용하여 사용자를 생성하여 /etc/passwd 파일의 항목으로 시스템에 추가합니다. 이 명령은 사용자에 대한 그룹과 홈 디렉터리도 생성합니다. 이 예제에서 사용자의 이름은 newuser입니다.

    • Amazon Linux and Amazon Linux 2

      Amazon Linux 및 Amazon Linux 2에서는 기본적으로 암호 인증이 비활성화된 사용자가 생성됩니다.

      [ec2-user ~]$ sudo adduser newuser
    • Ubuntu

      암호 인증이 비활성화된 사용자를 생성하려면 --disabled-password 파라미터를 포함합니다.

      [ubuntu ~]$ sudo adduser newuser --disabled-password
  5. 생성할 디렉터리와 파일이 정확한 소유권을 가질 수 있도록 새 사용자로 전환합니다.

    [ec2-user ~]$ sudo su - newuser

    프롬프트가 ec2-user에서 newuser로 바뀌며 쉘 세션이 새 사용자로 전환된 것을 나타냅니다.

  6. 사용자에게 SSH 퍼블릭 키를 추가합니다. 다음 하위 단계에 따라 먼저 사용자의 홈 디렉터리에 SSH 키 파일에 대한 디렉터리를 만든 다음, 키 파일을 만들고 마지막으로 퍼블릭 키를 키 파일에 붙여넣습니다.

    1. .ssh 디렉터리를 newuser 홈 디렉터리에 만들고 파일 권한을 700(소유자만 디렉터리를 읽거나, 쓰거나, 열 수 있음)으로 변경합니다.

      [newuser ~]$ mkdir .ssh
      [newuser ~]$ chmod 700 .ssh
      중요

      파일 권한이 정확하지 않으면 사용자가 로그인할 수 없습니다.

    2. authorized_keys라는 이름의 파일을 .ssh 디렉터리에 만들고 파일 권한을 600(소유자만 파일을 읽거나 쓸 수 있음)으로 변경합니다.

      [newuser ~]$ touch .ssh/authorized_keys
      [newuser ~]$ chmod 600 .ssh/authorized_keys
      중요

      파일 권한이 정확하지 않으면 사용자가 로그인할 수 없습니다.

    3. 자주 사용하는 텍스트 편집기(예: vim 또는 nano)로 authorized_keys 파일을 엽니다.

      [newuser ~]$ nano .ssh/authorized_keys

      2단계에서 검색한 퍼블릭 키를 파일에 붙여넣고 변경 내용을 저장합니다.

      중요

      퍼블릭 키를 연속된 한 줄에 붙여넣는지 확인합니다. 퍼블릭 키는 여러 줄로 분할되지 않아야 합니다.

      이제 사용자는 newuser 파일에 추가한 퍼블릭 키에 해당하는 프라이빗 키를 사용하여 인스턴스에서 authorized_keys 사용자에게 로그인할 수 있습니다. Linux 인스턴스에 연결하는 다양한 방법에 대한 자세한 내용은 Linux 인스턴스에 연결합니다 섹션을 참조하세요.

사용자 제거

사용자가 더 이상 필요하지 않은 경우 더 이상 사용할 수 없도록 사용자를 제거할 수 있습니다.

userdel 명령으로 시스템에서 사용자를 제거합니다. -r 파라미터를 지정하면 사용자의 홈 디렉터리와 메일 스풀이 삭제됩니다. 사용자의 홈 디렉터리와 메일 스풀을 보존하려면 -r 파라미터를 생략합니다.

[ec2-user ~]$ sudo userdel -r olduser