#はじめに
EC2の簡単な初期設定を紹介していきます。
テンプレなのでコピペで大体できるはず、、!
前提
macOS
AWSにてEC2(Amazon Linux 2)を構築済み
#EC2に接続
ローカルPCのターミナル
"sudo ssh -i [keyペアファイル] ec2-user@[パブリックIP]"
#確認が出るので "yes"
#PCのパスワードを要求されるので、入力。
#初期設定
- yumをアップデート
SSH接続したEC2インスタンス内
yumをまとめてアップデート
$ sudo yum update -y
yum cromインストール
$ sudo yum install -y yum-cron
EPELを有効化
$ sudo amazon-linux-extras install epel
セキュリティのみ自動でパッチがあたるようにcronの設定ファイルを変更します。
$ vi /etc/yum/yum-cron.conf
変更点
update_cmd = security
apply_updates = yes
email_to = [任意]
設定したら起動及び再起動自動の自動実行を設定
$ systemctl start yum-cron
$ systemctl enable yum-cron
- タイムゾーンを日本時間に変更します。
タイムゾーンをJSTに設定
$ sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
タイムゾーンがJSTに変更されたか確認
$date
/etc/sysconfig/clockの設定変更を変更
$ sudo vi /etc/sysconfig/clock
/etc/sysconfig/clock
以下の内容を変更
ZONE="Asia/Tokyo"
UTC= true
- EC2インスタンスを再起動し、全てのプロセスが新しいタイムゾーンを設定を利用するようにします。
SSH接続したEC2インスタンス内
$ sudo reboot
#ユーザー追加
セキュリティ強化のため、ec2-userのアカウント名をそのまま使うのではなく、
ec2-userを停止にして、新しいユーザでログインできるようにします。
SSH接続したEC2インスタンス内
新規ユーザー作成
$ sudo adduser my-user
wheelグループに追加
$ sudo usermod -G wheel my-user
sudo権限を付与
$ sudo visudo
viが開くので、行末に「my-user ALL=(ALL) NOPASSWD: ALL」を追加
visudo
my-user ALL=(ALL) NOPASSWD: ALL
:wqで保存
ec2-userのauthorized_keysをmy-userの.sshディレクトリにコピーし、適切なパーミッションを設定します。
SSH接続したEC2インスタンス内
$ sudo rsync -a ~/.ssh/authorized_keys ~my-user/.ssh/
$ sudo chown -R my-user:my-user ~my-user/.ssh
$ sudo chmod 700 ~my-user/.ssh/
$ sudo chmod 600 ~my-user/.ssh/**
#SSH接続設定
EC2のシークレットキーをローカルPCの以下に配置
/Users/[ユーザー]/.ssh/***.pem
ローカルPCのターミナル
.sshディレクトリに移動
cd .ssh
シークレットキーを持っている他のユーザーもログインできるように権限を変更
$ chmod 600 ***.pem
権限が変更されているか確認
$ ls -al
-rw------- になっていればOK
configに接続設定を記載
$ vi config
ローカルにショートカットを作成
/.ssh/config
Host [ホスト名]
HostName [パブリックIP]
Port 22
User my-user
IdentityFile ~/.ssh/***.pem
:wqで保存
my-userで接続できるか確認します。
ローカルPCのターミナル
$ ssh [ホスト名]
接続できたら、rootになれるか確認
SSH接続したEC2インスタンス内
$ sudo su -
#SSHのセキュリティ設定
rootとec2-userでのSSHを禁止する
SSH接続したEC2インスタンス内
$ sudo vi /etc/ssh/sshd_config
/etc/ssh/sshd_config
以下を追加
#ec2-userでのログインを禁止
DenyUsers ec2-user
#暗号化アルゴリズムの指定
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
#鍵付きハッシュのアルゴリズム
MACs hmac-sha2-256,hmac-sha2-512
以下を変更
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin no
:wqで保存
SSH接続したEC2インスタンス内
設定を反映
$ service sshd reload