今日はEC2へのログインに関しての記事になります。
AWSを使用するメリットの一つとして、仮想マシンを簡単に複製し、異なる構成や環境でアプリケーションのテスト/検証を迅速に行える点が挙げられます。
通常、新たなEC2にログインするには、起動時に指定したキーペアを使用する必要があります。
ただ、そのキーペアを管理したり、検証作業のたびにそのキーペアを指定したりするのは非常に 「メンドクサイ」 です。
そこで、ユーザデータでSSHパスワード認証許可設定を行い、EC起動時にデフォルトでパスワード認証できるようにしてみました。
ユーザデータとは
ユーザデータは、EC2インスタンスの起動時に実行されるスクリプトやコマンドのセットです。
主な目的は、インスタンスの初期設定やカスタマイズ、アプリケーションの設定などを自動化することになります。
AWSマネジメントコンソールでいうと、下記のEC2起動画面にて設定することが可能。
ユーザデータでSSHパスワード認証許可設定をする
では、ユーザデータを使用してRed Hat Enterprise Linux9インスタンスのパスワード認証を許可していきます。
パスワード認証を許可するには(1)/etc/ssh/sshd_config設定の更新と(2)ec2-user(AWSデフォルトユーザ)へのパスワード設定が必要です。それぞれ、下記のようなコマンドをユーザデータで指定します。
(1)/etc/ssh/sshd_config設定の更新
#!/bin/bash
touch /etc/ssh/sshd_config.d/ファイル名.conf
echo "PasswordAuthentication yes" > /etc/ssh/sshd_config.d/ファイル名.conf
systemctl restart sshd
※Red Hat Enterprise Linux9におけるSSH設定の変更にあたっては、/etc/ssh/sshd_config.d配下に*.confを作成する必要があるようです。(詳細はEC2ログイン後に/etc/ssh/sshd_configをご参照ください)
(2)ec2-user(AWSデフォルトユーザ)へのパスワード設定
echo "ec2-user:指定したいパスワード" | chpasswd
まとめ
、ということで、ユーザデータでSSHパスワード認証許可設定をしてみました。
上記設定をすることで、EC2初回起動時でも自分で指定したパスワードにてサーバログインが可能なはずです。
初学者向けの記事となりますが、どなたかのご参考になれば幸いです。