0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

EC2インスタンスのターミナルでの初回起動時の設定

Last updated at Posted at 2020-12-20

#概要
AWSでEC2インスタンスを作成後、インスタンスの初回起動時の設定について、ターミナルでインスタンスにSSH接続し、セキュリティ対策を行うまでを簡単にまとめます。この記事はEC2インスタンスが作成してあることが前提となっています。

#手順
##ターミナルでインスタンスに接続
ターミナルからSSH接続します。"my-key.pem"が保存されているディレクトリへ移動し、次のコマンドを実行します。"ec2-user@0.0.0.0"は接続するユーザー名とIPアドレスです。IPアドレス部は自分のインスタンスのパブリックIPに合わせてください。

例
ssh -i "my-key.pem" ec2-user@0.0.0.0

必要に応じて、次のコマンドを実行して、キーが公開されていないことを確認します。400の"4"は自分だけしか読み込めないようにするための属性です。

 chmod 400 my-key.pem

セキュリティ警告が出たら"yes"と入力してください。初回の接続時のみに尋ねられます。問題なければメッセージが表示され、接続が完了します。

##セキュリティ対策
セキュリティ対策として、"ec2-user"の変更およびSSH待ち受けポート番号の変更を行います。少し違いはありますが、ほとんどココココを参考にさせていただき、簡単にまとめた記事となるので、詳細はurl先で確認していただいた方がわかりやすいです。

###ec2-user の変更
デフォルトのユーザーが"ec2-user"となっており、セキュリティ対策する必要があります。新しいユーザーを作成し、"ec2-user"をSSHができなくなるよう制限をかけます。

1. "test"には好きな名前を入力してください。
sudo useradd test

2. 作成したユーザーを/home ディレクトリで確認してください。
ls /home

3. ユーザーのパスワードの設定してください。"test"には好きな名前を入力してください。
sudo passwd test

4. 追加したユーザーでsudoコマンドを実行するには、ユーザーをwheel(root権限をもつグループ)というグループに登録する必要があります。
次のコマンドでユーザーをwheelグループに加えましょう。
sudo usermod -aG wheel test

5. wheelに所属しているユーザーは、次のコマンドで確認できます。
less /etc/group | grep wheel

###公開鍵のコピーとパーミッション設定
新規ユーザーでインスタンスへ接続するために、EC2に登録した公開鍵をユーザーのホームディレクトリ配下に登録する必要があります。

1. ec2-userのディレクトリにある公開鍵を、新規ユーザーディレクトリにコピーしてください。
sudo cp -R ~/.ssh/ /home/test/.ssh

2. コピーした .ssh ディレクトリとその配下にあるキーの所有者をec2-userから新規ユーザーへ変更します。
sudo chmod -R go-rwx ~test/.ssh

3. .ssh ディレクトリとファイルのパーミッションを制限します。
sudo chown -R test:test ~test/.ssh

4. 一度インスタンスからログアウトし、新規ユーザーでSSH接続後、rootになれるか確認してください。
ssh -i "my-key.pem" test@0.0.0.0
sudo su -

5. ec2-userでSSH接続ができなくなるようにするため、SSH設定ファイルに追記してください。
echo "DenyUsers ec2-user" >> /etc/ssh/sshd_config

6. 設定後、sshdを再起動します。
systemctl restart sshd
systemctl status sshd

###待ち受けポート変更
SSH接続のデフォルトの待ち受けポートは22番です。セキュリティ対策として別のポート番号に変更することを行います。

1. sshdのコンフィグファイルを開き、1024~49151の範囲内でポート番号を変更します。
sudo vi /etc/ssh/sshd_config

2. 下記を入力し、ポート番号を変更します。
例
Port 11111

3. 変更後、指定したポートをAWSのセキュリティグループで開けてください。
EC2 > セキュリティグループ > 対象のセキュリティグループ選択 > アクション >
インバウンドルールを編集 > ポート範囲に先ほど変更したポート番号(11111)を入力 > ソースをマイIPに変更 > 保存

4. 次回以降、sshする際は次のようにオプション(-p)をつけ、ポート番号を指定する必要があります。
ssh -i "my-key.pem" -p 11111 test@0.0.0.0

以上、インスタンスの初回起動時の設定として、デフォルトユーザーであるec2-userの変更とSSH接続時のポート番号の変更について簡単にまとめました。わかりづらい箇所については、下記の参考を確認していただければ詳細が載っています。

#参考
[参考] 大澤 文孝; 玉川 憲; 片山 暁雄; 今井 雄太. Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版. 日経BP. Kindle 版.
[参考] https://avinton.com/academy/amazon-ec2-vpc/
[参考] https://avinton.com/academy/amazonec2-initial-setting/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?