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

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
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.



「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

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ログイン出来ないことが
確認できれば設定は完了です。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

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

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

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。