AdobeStock_290791443.jpg
2020.01.02

VPSサーバーのSSH接続でポート番号22を閉じて別のポート番号を開ける

サーバーを借りると初期設定ではSSH接続に22番のポート番号が設定されていますが、SSH接続に22番が設定されているレンタルサーバーは多く不正アクセスの標的にされることがあります。

SSH接続のポート番号を変更する。

サーバーにターミナルソフトなどを使いSSH接続します。

# ssh 【ユーザー名】@【サーバーのIPアドレス】

サーバーに接続できたらsshd_configのコピーを作成します。
まずは該当のディレクトリまで行き目的のファイルがあるか確かめます。

# cd /etc/ssh/

ディレクトリの中身を確認

# ls

目的のファイル「sshd_config」があると思うので、コピーを取っておきましょう。

# cp sshd_config sshd_config.cp

一応中を確認してコピーしたファイルがあるか確認

# ls

「sshd_config.cp」があることを確認したら「sshd_config」を編集していきます。

# vim sshd_config

コメントアウトされたポート番号の行があると思うので、編集モードにして(iと打つ)そのコメントアウトを外し、61000以下のの任意のポート番号を追加します。

#Port 22

↓変更します

Port 22
Port 45678

※firewallを設定してある場合は指定したポートを開けておいてください。

SSH1より安全性の高いSSH2への変更をします。
Protocol 2のコメントアウトを外す。
OpenSSH 7.6以上はデフォルトでProtocol 2になっているので、ここは無視して大丈夫です。

#Protocol 2

↓変更します

Protocol 2

escで編集モードを終了し:wqと打ち保存します。

SSHを再起動させて変更を反映させる。

# systemctl restart sshd.service

追加したポート番号でSSH接続できるか確認

ターミナルの別ウインドウを開いてちゃんと接続できるか確認

今回は例で追加したポート番号「45678」で接続してみます。

# ssh -p45678 【ユーザー名】@【サーバーのIPアドレス】

ちゃんとログインできることが確認できたら、もとの作業していたターミナルのウインドウに戻って「sshd_config」を編集し22番ポートを閉じます。

# vim sshd_config

Port 22の前にコメントアウトをつけて22番ポートを閉じる。

#Port 22
Port 45678

esc、:wqで変更を保存して、SSHを再起動。

# systemctl restart sshd.service

まとめ

初期設定のまま使うとセキュリティ面が不安なのでVPSサーバーを契約したらまずはこの作業をしておきます。

ポート番号は他のサービスで利用していないか確認してから設定します。