🐒

AWS EC2の初期設定

2024/01/29に公開

前提

EC2インスタンスは作成されたとする。
私はインバウンドルールはsshのためのポート22番をMyIPのみ許可をして、http(80番ポート)とhttps(443番ポート)はすべてのIPで許可をしている。

SSHで最初にログインしたときにすべきこと

ec2-userでログインをしたらまずやるべきことはec2-userでない自分のユーザーを作成して適切な権限設定をして、ec2-userを削除することである。これはec2-userというユーザーは周知されているためセキュリティ上よくないためだ。

最初にユーザーを追加する

ssh
sudo adduser your_username

your_usernameは好きなユーザー名で構わない

SSH接続を可能にする

ssh
sudo cp -r /home/ec2-user/.ssh /home/your_username/

上記コマンドでec2-userのsshキーを使えるようにして、
下記で所有者をyour_usernameに設定する。

ssh
sudo chown -R your_username:your_username /home/your_username/.ssh

ただしこの設定はセキュリティ上あまりよくないらしいので注意

sudoersの編集

このままではyour_usernameでsshに接続したとき、sudoを使えない。your_usernameをgroup wheelに追加するとsudoを使えるようになるが、sudoを使うたびにパスワードを求められて面倒なのでsudoersを編集してパスワードを入力せずともsudoコマンドを使えるようにする。
このときの作業者はec2-userのままである

ssh
sudo visudo /etc/sudoers

上記コマンドを入力してsudoersファイルを編集する。

sudoers
your_username ALL=(ALL) NOPASSWD: ALL

上記を追加すればOK

その後ec2-userのパスワード認証をロックする

ssh
sudo passwd -l ec2-user

この設定でパスワード認証でのログインを完全にロックしてssh経由での鍵認証でしかログインできなくなる。

終わり

Discussion