EC2インスタンスのAmazon Linux 2で利用できるSSHプロトコルはデフォルトのポート22番を利用し接続元の端末から遠隔で操作することができますが、このポート番号は一般的に広く知られているためSSHのポート番号(今回は22→10022に設定)を変更し不正なログインからセキュリティを向上するための手順です。本記事ではEC2インスタンスの設定(sshd_configファイル)変更・セキュリティーグループのインバウンドでポート開放し、サーバー側設定変更後のクライアントOS、Windows 10からターミナルエミュレーターTera Term(テラターム)でAmazon Linux 2にSSH接続する一連の手順を解説します。
1.sshd設定ファイル変更
実行コマンド
vi /etc/ssh/sshd_config
SSHのデフォルトポート番号を変更します。
以下のパラメータを変更します。
変更前:#Port 22
変更後:Port [変更後のSSHポート番号]
/etc/ssh/sshd_config変更前
/etc/ssh/sshd_config変更後
実行コマンド
systemctl restart sshd
sshd_configを変更した場合、sshdサービスの再起動が必要になるためsystemctlコマンドでサービス再起動します。
2.セキュリティグループのポート開放
EC2マネージメントコンソール -> 該当のEC2インスタンスから「セキュリティ」を選択し、EC2インスタンスに割り当たっているセキュリティグループを選択します。
インバウンドルールを編集し以下、パラメータを変更します。
タイプ:カスタムTCP
ポート範囲:10022
ソース:接続元IPアドレス
3.クライアント端末(Windows10)からAmazon Linux 2への接続
手順:1
あらかじめWindows10端末にインストールしたTera Term(テラターム)を起動します。
※Tera Termダウンロードサイト:https://forest.watch.impress.co.jp/library/software/utf8teraterm/
手順:2
以下、接続情報を入力します。
ホスト:Amazon Linux 2のIPアドレス
TCPポート:10222
サービス:SSH
手順:3
「known hostsリストにサーバ”xxx.xxx.xxx.xxx”のエントリはありません。」と表示されますが、known hostsに記載がない・ホスト鍵を受け取っていないサーバに接続しようとしている場合に表示されます。
手順:4
ユーザ名・秘密鍵を選択 -> 「OK」を選択します。
EC2インスタンスのAmazon Linux 2にSSH接続完了です。