AWSのEC2でsshポートを22以外にする
役に立つ人
AWSのEC2でsshのportを22以外にしたい人
sshのセキュリティグループでマイIP以外を設定したい人
なぜ22以外にするの?
sshのport22というのはデフォルト設定の値ですので
- 単純に数が多い
- セキュリティに疎い人のサーバー
つまり、クラッカーの方々が日夜セキュリティのあまあまなサーバーをさがしているのですがその際に標的になりやすいのです
そのため、ポートを22以外にするだけでクラッカーからの攻撃をぐんと減らすことができます
(まぁ秘密鍵が流出しなければ大丈夫ですが不正アクセスのログが残ってると気持ち悪い...)
AWSのセキュリティグループで設定できないの?
セキュリティグループだけではsshのportを22以外にすることはできません
じゃどうするのか?
AWSの機能ではなくLinuxの設定もいじりましょう
ssh_config
sshに関する設定ファイルです
AmazonLinux2の場合/etc/ssh/ssh_config
にあります
試しに検索してみましょう
sudo find / -name /ssh_config // 結果が出力される /etc/ssh/ssh_config
みつかったら設定ファイルを編集していきます
// 念のため初期設定ファイルのバックアップを取る sudo cp /etc/ssh/ssh_config /etc/ssh/ssh_config.origin // viエディタで開く sudo vi /etc/ssh/ssh_config
開いたら/Port 22
と入力しenterを押してください
入力した内容は左下に表示されるので確認しつつ入力していってくださいね
するとPort 22
と書かれた箇所にジャンプします
そうしたらcc
とcを2回入力してPort 22222
と入力してください
その後はEsc
を押した後、左下を見ながら:wq
と入力してEnterを押してください
設定ファイルの編集が完了したら設定を反映させます
sudo systemctl restart sshd
これでLinuxの設定は完了です
セキュリティグループ
これだけだとセキュリティグループが22222のportを許可していないので接続できません
カスタムTCPとポート範囲を設定します
さいごに
これでssh時にportを指定して接続できればOKです
ssh ec2-user@12.12.12.12 -i key -p 22222
以上、お疲れ様でした!