AWS EC2 Amazon Linux環境の初期設定まとめ
|
EC2で建てたAmazon Linux環境の初期設定、今後も応用できる内容と思うので記事にまとめます。
インスタンス作成と鍵の設定など完了し、SSHできる状態という前提で整理します。
ユーザの追加とパスワード設定
デフォルトユーザは既知の情報のためセキュリティーホールとなります。なので新規ユーザを作成します。
# ユーザ追加とパスワード設定
sudo useradd hogehoge
sudo passwd hogehoge
# 作成したユーザのディレクトリを確認
ls /home
ユーザをwheelグループに追加
# wheelグループに追加
sudo usermod -aG wheel hogehoge
# wheelに所属しているユーザーの確認
less /etc/group | grep wheel
公開鍵の設定
作成したユーザでsshできるように公開鍵を設定します。
# 公開鍵のコピーとパーミッション設定
sudo cp -R ~/.ssh/ /home/hogehoge/.ssh
sudo chown -R hogehoge:hogehoge /home/hogehoge/.ssh
sudo chmod -R go-rwx /home/hogehoge/.ssh
その後一旦ログアウトし、作成したユーザでssh、rootになれることを確認。
ssh -i ~/.ssh/secret_key.pem user_name@fqdn
sudo su -
ec2-userのsshを禁止
デフォルトユーザ(ec2-user)でのsshができないようにします。
sudo echo "DenyUsers ec2-user" >> /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo systemctl status sshd
sshdの待ち受けポート番号変更
sshd_configを開き、Listen Portを修正します。合わせて、ここで変更した番号をセキュリティーグループで解放する必要があります。
sudo vi /etc/ssh/sshd_config
# デフォルトListen Portを修正
# 例: Port 22 → Port 54321
LC_CTYPEのエラー修正
Amazon Linuxへsshした後のようこそ画面で、LC_CTYPE関連のエラーが出る場合は/etc/environmentに下記を追記します。
sudo vi /etc/environment
# 下記を追記
LANG=en_US.utf-8
LC_ALL=en_US.utf-8
パッケージの自動更新設定
セキュリティーパッチは手動での更新が大変なので、自動で更新するように設定します。
https://hodalog.com/yum-cron-in-amazon-linux/
タイムゾーン変更
デフォルトだとUTCになっているので日本時間に修正します。
timedatectl status
sudo timedatectl set-timezone Asia/Tokyo
まとめ
個人でやっていると作り直すことは稀なので初期設定方法は忘れがちですが、このようにまとめておけば安心ですね。