SSHの安全な設定方法|鍵認証・ポート変更・セキュリティ強化の実践ガイド

現場実践|Linuxセキュリティ
SSHの安全な設定方法
鍵認証・ポート変更・セキュリティ強化
「サーバーに不正アクセスの痕跡が!」そうなってからでは遅い。SSHのセキュリティ強化は最優先のインフラ作業です。実践的な設定手順を解説します。
💡 デフォルト設定のSSHは不正アクセスの温床になります。本番環境では必ず鍵認証に切り替え・パスワード認証を無効化することをおすすめします。
1. デフォルトSSHのリスク
まず、デフォルト設定のSSHサーバーを公開IPに晒すと、数分以内にブルートフォース攻撃が開始されます。実際にログを確認すると、1日に数千件の不正ログイン試行が記録されていることも珍しくありません。
2. 鍵認証の設定手順
1
クライアント側で鍵ペアを生成
ssh-keygen -t ed25519 -C "your-comment"
~/.ssh/id_ed25519(秘密鍵)とid_ed25519.pub(公開鍵)が生成される。
2
サーバーに公開鍵を登録
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server
または手動で~/.ssh/authorized_keysに追記する。
3
鍵認証でのログインを確認してからパスワード認証を無効化
鍵認証でログインできることを確認した後、sshd_configの設定を変更する(次のセクション参照)。
3. sshd_config の重要設定
# /etc/ssh/sshd_config の設定例
Port 22222 # デフォルトの22から変更
PermitRootLogin no # rootログインを禁止
PasswordAuthentication no # パスワード認証を無効化
PubkeyAuthentication yes # 鍵認証を有効化
MaxAuthTries 3 # 認証試行回数を制限
LoginGraceTime 30 # 認証タイムアウトを短縮⚠️ 設定変更後は必ず再起動前にテスト
また、sshd_configを変更した後はsystemctl restart sshdの前に、別ターミナルから既存セッションを保ちながら新しい接続でテストしてください。なぜなら、設定ミスで締め出されるリスクがあるからです。
4. fail2banの導入
また、fail2banは不正なログイン試行を検知して自動的にIPアドレスをブロックするツールです。インストールはyum install fail2ban(CentOS/RHEL)またはapt install fail2ban(Ubuntu)で完了します。
5. 設定確認チェックリスト
- 鍵認証でのSSHログインが成功している
- PasswordAuthentication no が設定されている
- PermitRootLogin no が設定されている
- SSHのポートをデフォルト22から変更している(またはファイアウォールで制限している)
- fail2banが起動・有効化されている
- /var/log/secure(CentOS)または/var/log/auth.log(Ubuntu)でログインログを定期確認している
📌 この記事のポイント
- デフォルトSSHは公開後すぐにブルートフォース攻撃を受けるリスクがある
- 鍵認証に切り替え後・PasswordAuthentication noでパスワード認証を無効化する
- PermitRootLogin no・ポート変更・fail2banの3点がセキュリティ強化の基本
キャリアの疑問、一緒に解決しませんか?
Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




