🐒
AWS EC2の初期設定
前提
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