Amazon Linux インスタンスでのユーザーアカウントの管理
各 Linux インスタンスは、デフォルトの Linux システムユーザーアカウントで起動されます。デフォルトのユーザー名は、インスタンスの起動時に指定した AMI によって決まります。
-
Amazon Linux 2 または Amazon Linux AMI の場合は、ユーザー名は
ec2-user
です。 -
CentOS AMI の場合、ユーザー名は
centos
です。 -
Debian AMI の場合は、ユーザー名は
admin
です。 -
Fedora AMI の場合、ユーザー名は
ec2-user
またはfedora
です。 -
RHEL AMI の場合は、ユーザー名は
ec2-user
またはroot
のどちらかです。 -
SUSE AMI の場合は、ユーザー名は
ec2-user
またはroot
のどちらかです。 -
Ubuntu AMI の場合は、ユーザー名は
ubuntu
です。 -
それ以外の場合で、
ec2-user
およびroot
が機能しない場合は、AMI プロバイダーに確認してください。
Linux システムユーザーと AWS Identity and Access Management(IAM)ユーザーを混同しないでください。詳細については、『IAM ユーザーガイド』の「IAM ユーザーとグループ」を参照してください。
コンテンツ
考慮事項
デフォルトのユーザーアカウントを使用するのが多くのアプリケーションに適しています。ただし、個人が自分のファイルとワークスペースを持つことができるように、ユーザーアカウントを追加することを選択できます。さらに、新しいユーザー用にユーザーアカウントを作成することは、デフォルトユーザーのアカウントへのアクセス権を複数のユーザーに
(経験のないユーザーも含めて) 与えるよりも、はるかに安全です。これはデフォルトのユーザーアカウントが不適切に使用された場合、システムにさまざまな損害を与える可能性があるためです。詳細については、「EC2 インスタンスの保護のヒント
Linux システムのユーザーアカウントを使用してユーザーが EC2 インスタンスに SSH アクセスできるようにするには、SSH キーをユーザーと共有する必要があります。または、EC2 Instance Connect を使用して、SSH キーを共有および管理せずにユーザーにアクセスを提供できます。詳細については、「EC2 Instance Connect を使用した Linux インスタンスへの接続」を参照してください。
ユーザーアカウントの作成
最初にユーザーアカウントを作成してから、ユーザーがインスタンスに接続してログインできるようにする SSH パブリックキーを追加します。
ユーザーアカウントを作成するには
-
新しいキーペアを作成します。この
.pem
ファイルは、ユーザーアカウントを作成するユーザーに提供する必要があります。ユーザーがインスタンスに接続するには、このファイルを使用する必要があります。 -
前のステップで作成したキーペアからパブリックキーを取得します。
$
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
-
インスタンスに接続します。
-
adduser コマンドを使用して、ユーザーアカウントを作成し、システムに追加します (
/etc/passwd
ファイルにエントリが追加されます)。このコマンドでも、グループが作成され、アカウントのホームディレクトリが作成されます。この例では、ユーザーアカウントは
という名前になります。newuser
-
Amazon Linux および Amazon Linux 2
[ec2-user ~]$
sudo adduser
newuser
-
Ubuntu
--disabled-password
パラメータを含めて、パスワードなしでユーザーアカウントを作成します。[ubuntu ~]$
sudo adduser
--disabled-passwordnewuser
-
-
新しいアカウントに切り替えて、作成するディレクトリとファイルが適切な所有権を持つようにします。
[ec2-user ~]$
sudo su -
newuser
シェルセッションが新しいアカウントに切り替わったことを示すために
ec2-user
から
に変更するように求められます。newuser
-
ユーザーアカウントに SSH パブリックキーを追加します。以下のサブステップで説明しているように、最初に SSH キーファイル用のディレクトリをユーザーのホームディレクトリに作成し、次にキーファイルを作成して、最後に公開キーをキーファイルに貼り付けます。
-
.ssh
ホームディレクトリに
ディレクトリを作成し、そのファイルのアクセス許可をnewuser
700
(所有者のみ、読み取り、書き込み、削除が可能) に変更します。[newuser ~]$
mkdir .ssh
[newuser ~]$
chmod 700 .ssh
重要 厳密なファイル権限がなければ、ユーザーはログインできません。
-
authorized_keys
という名前のファイルを.ssh
ディレクトリに作成し、そのファイルのアクセス許可を600
(所有者のみ、読み取りおよび書き込みが可能) に変更します。[newuser ~]$
touch .ssh/authorized_keys
[newuser ~]$
chmod 600 .ssh/authorized_keys
重要 厳密なファイル権限がなければ、ユーザーはログインできません。
-
お好みのテキストエディタ (例: vim や nano) で、
authorized_keys
ファイルを開きます。[newuser ~]$
nano .ssh/authorized_keys
ステップ 2 で取得したパブリックキーをファイルに貼り付け、変更を保存します。
重要 パブリックキーは、必ず 1 つの連続した行に貼り付けてください。パブリックキーを複数行に分割することはできません。
これで、
ファイルに追加したパブリックキーの対であるプライベートキーを使用して、インスタンスのnewuser
authorized_keys
アカウントにログインできるようになりました。Linux インスタンスに接続するさまざまな方法の詳細については、「Linux インスタンスへの接続」を参照してください。
-
ユーザーアカウントの削除
ユーザーアカウントが不要になった場合、今後使用されないようにそのアカウントを削除できます。
システムからユーザーアカウントを削除するには、userdel コマンドを使用します。-r
パラメータを指定すると、ユーザーのホームディレクトリとメールスプールが削除されます。ユーザーのホームディレクトリとメールスプールを維持するには、-r
パラメータを省略します。
[ec2-user ~]$
sudo userdel -r
olduser