Amazon Linux2(EC2)のec2-user(デフォルトユーザー)を禁止する


図解60p「Linuxサーバー構築入門マニュアル」無料
登録10秒/自動返信でDL/合わなければ解除3秒
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)AWS(Amazon Linux) > Amazon Linux2(EC2)のec2-user(デフォルトユーザー)を禁止する
AWS EC2インスタンスでAmazon Linux2を選択した場合、
デフォルトユーザーは、ec2-userになります。

ec2-userでSSHログインする場合は、公開鍵認証方式なので、
秘密鍵ファイルが必要になりセキュリティが担保されていますが、
デフォルトユーザーが一般に周知されているので、
これをそのまま使用するのは、システムによっては
ポリシー違反になる場合があります。

そのような場合は、ec2-userの使用を禁止し、
他の任意のユーザーで運用します。

1.新規ユーザーを作成します。

ec2-userでログインし、新規ユーザーを作成してパスワード設定します。
例ではpakiraユーザーを作成していますが、この箇所は任意に変えてください。

$ sudo useradd pakira
$ sudo passwd pakira
Changing password for user pakira.
New password:    ←任意のパスワードを設定します。
Retype new password: ←再度、任意のパスワードを設定します。
passwd: all authentication tokens updated successfully.




2.新規ユーザーに管理者権限を付与

新規ユーザーに管理者権限を付与します。
sudoコマンドを実行するには、この設定が必要になり、
スーパーユーザー(root)権限をもつwheelグループに
新規ユーザーを追加します。

$ sudo usermod -aG wheel pakira
$ less /etc/group | grep wheel
wheel:x:10:ec2-user,pakira


3.公開鍵設定と調整

新規ユーザーがSSHログインするには公開鍵設定が必要になります。
今回はec2-userの公開鍵をコピーして使用します。
コピー後、権限を変更して使用できるように調整します。

$ pwd
/home/ec2-user
$ sudo cp -R ~/.ssh/ /home/pakira/.ssh
$ sudo ls -la /home/pakira/.ssh
total 4
drwx------ 2 root root 29 Apr 13 05:30 .
drwx------ 3 pakira pakira 74 Apr 13 05:30 ..
-rw------- 1 root root 395 Apr 13 05:30 authorized_keys
$ sudo chown -R pakira:pakira /home/pakira/.ssh
$ sudo chmod -R 600 /home/pakira/.ssh
$ chmod 700 /home/pakira/.ssh
$ sudo ls -la /home/pakira/.ssh
total 4
drwx------ 2 pakira pakira 29 Apr 13 05:30 .
drwx------ 3 pakira pakira 95 Apr 13 05:40 ..
-rw------- 1 pakira pakira 395 Apr 13 05:30 authorized_keys


4.新規ユーザーでEC2にログインする

新規ユーザーでSSHログインが出来るか確認します。

Last login: Tue Apr 13 05:40:08 2021

__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|

https://aws.amazon.com/amazon-linux-2/
No packages needed for security; 2 packages available
Run "sudo yum update" to apply all updates.
$ whoami
pakira


5.ec2-userのログインを禁止

今回は、後に必要になるケースも考慮して、
ec2-userを削除するのではなくSSHログインを禁止して使用できなくします。
viエディタで「/etc/ssh/sshd_config」ファイルの
最終行に「DenyUsers ec2-user」を追加します。

$ sudo vi /etc/ssh/sshd_config
AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f
AuthorizedKeysCommandUser ec2-instance-connect

DenyUsers ec2-user ←最終行に追加


6.SSH再起動後、ec2-userログイン確認

SSHを再起動して、ec2-userでSSHログイン出来ないことを確認します。

$ sudo systemctl restart sshd


上記設定をして、ec2-userでSSHログイン出来ないことが
確認できれば設定は完了です。



無料プレゼント
図解60p「Linuxサーバー構築入門マニュアル」
独学で詰まる前に、“型(手順書)”で最初の環境構築をサクッと終わらせましょう。
登録10秒/自動返信でDL/合わなければ解除3秒
無料で受け取る ※メールアドレスだけでもOK(必須項目は最小限)

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る