SSH 応用設定(鍵認証・ポート変更・fail2ban)

このページでは、SSH の安全性を大幅に高めるための応用設定として、 鍵認証・ポート変更・fail2ban の 3 つをまとめています。 ローカルサーバーでも有効なセキュリティ強化手法です。

最終更新:

1. はじめに

SSH は Linux サーバーをリモート操作するための重要な仕組みですが、 初期設定のままだと攻撃に弱い部分があります。 このページでは、SSH をより安全に使うための応用設定をまとめています。

2. SSH 鍵認証の設定

パスワード方式より圧倒的に安全なログイン方法です。

Windows(PowerShell)で鍵を作成

ssh-keygen

作成された公開鍵(id_rsa.pub)をサーバーに登録します。

ssh-copy-id ユーザー名@サーバーIP

これでパスワードなしでログインできるようになります。

3. SSH ポート番号の変更

22 番ポートは攻撃の標的になりやすいため、変更すると安全性が高まります。

設定ファイルを編集

sudo nano /etc/ssh/sshd_config

以下の行を変更します。

Port 2222

変更後は SSH を再起動します。

sudo systemctl restart ssh

4. fail2ban による不正アクセス防止

ログイン失敗を繰り返す IP を自動で遮断するツールです。

インストール

sudo apt install fail2ban

SSH 用の設定ファイルを作成

sudo nano /etc/fail2ban/jail.local

以下を追加します。

[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 5

5. SSH 応用設定はローカルサーバーでも必要?

これらの応用設定は、インターネット公開サーバーだけでなく、 学校 LAN 内のローカルサーバーでも有効です。 特に、教室から別室のサーバーへ接続する環境では安全性が大きく向上します。

ローカルサーバーでの必要性まとめ

機能 ローカルサーバーでの必要性 理由
SSH 鍵認証 ★★★★★(必須級) パスワード方式は弱い。鍵認証は圧倒的に安全。
ポート変更 ★★★★☆(強く推奨) 攻撃ログが激減。誤接続も防げる。
fail2ban ★★☆☆☆(環境次第) ローカルでは必須ではないが、広い LAN なら有効。

簡潔な解説

● SSH 鍵認証(必須級)
LAN 内でもパスワード方式は安全とは言えません。鍵認証にするだけでセキュリティが大幅に向上します。

● ポート変更(強く推奨)
22 番ポートは攻撃の標的です。変更するだけで攻撃ログがほぼゼロになります。

● fail2ban(必要に応じて)
不正ログインを繰り返す端末を自動で遮断します。校内 LAN が広い場合に有効です。

6. まとめ

SSH の応用設定を行うことで、ローカルサーバーでも安全性が大きく向上します。 鍵認証・ポート変更・fail2ban を組み合わせることで、 安全・快適・安定したリモート管理環境を構築できます。