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

現場実践|SSHセキュリティ
SSHの安全な設定方法
鍵認証・セキュリティ強化の実践ガイド
Linuxサーバーへのリモートアクセスに使うSSH。デフォルト設定のままでは不正アクセスのリスクがあります。現場で実施すべきSSHセキュリティ強化設定を解説します。
💡 パスワード認証のSSHは毎分何十回もブルートフォース攻撃を受けています。鍵認証への移行とfail2banの設定は、サーバーを公開する際の最低限のセキュリティ対策です。
1. 鍵認証の設定手順
1
クライアント側で鍵ペアを生成
ssh-keygen -t ed25519 -C "your_email@example.com"でED25519鍵ペアを生成。~/.ssh/id_ed25519(秘密鍵)とid_ed25519.pub(公開鍵)が作成される。2
公開鍵をサーバーに登録
ssh-copy-id user@server_ipで公開鍵をサーバーの~/.ssh/authorized_keysに追加する。3
鍵認証で接続確認後にパスワード認証を無効化
鍵認証でログインできることを確認してから/etc/ssh/sshd_configでPasswordAuthentication noに変更する。
2. sshd_configの重要設定
# パスワード認証を無効化(鍵認証のみ許可)
PasswordAuthentication no
# rootによる直接ログインを禁止
PermitRootLogin no
# ログイン試行回数を制限
MaxAuthTries 3
# 接続タイムアウト(秒)
LoginGraceTime 60
# 使用するSSHプロトコルバージョン
Protocol 2
# 設定変更後は必ずsshdを再起動
# sudo systemctl restart sshd3. fail2banでブルートフォース攻撃を防ぐ
# fail2banのインストール
sudo yum install -y fail2ban
# /etc/fail2ban/jail.local を作成して設定
[sshd]
enabled = true
port = ssh
maxretry = 3 # 3回失敗でBANする
findtime = 600 # 10分以内に3回失敗でBANする
bantime = 3600 # 1時間BANする4. SSHセキュリティチェックリスト
- 鍵認証(ED25519)を設定し、動作確認済み
- PasswordAuthentication no に設定済み
- PermitRootLogin no に設定済み
- fail2banを設定し、ブルートフォース対策済み
- AWSの場合はセキュリティグループでSSH(22番ポート)の接続元IPを制限済み
📌 この記事のポイント
- パスワード認証のSSHはブルートフォース攻撃にさらされている。鍵認証への移行が必須
- sshd_configでPasswordAuthentication no・PermitRootLogin noを設定する
- fail2banで連続ログイン失敗をIPバンする対策も合わせて実施する
よくある質問(FAQ)
Q. SSHの安全な設定方法について、初心者がまず取り組むべきことは何ですか?
まずは全体像を把握することから始めましょう。この記事で解説している基本的な概念を理解した上で、実際に手を動かして試してみることが重要です。理論だけでなく実践を通じて学ぶことで、より深い理解が得られます。不明な点は書籍や公式ドキュメントも合わせて参照することをおすすめします。
Q. SSHの安全な設定方法を学ぶのにおすすめのリソースはありますか?
公式ドキュメントが最も信頼性が高く、最新の情報が得られます。加えてUdemyの動画講座(セール時2,000〜3,000円)は体系的に学ぶのに最適です。YouTubeの無料解説動画も有効活用しましょう。実際に手を動かすハンズオン練習を並行して行うことで、知識の定着率が大幅に上がります。
Q. SSHの安全な設定方法のスキルは転職・キャリアアップに役立ちますか?
現在のIT業界では、この分野のスキルを持つエンジニアへの需要は高い水準にあります。特にインフラ・クラウド系の現場では即戦力として評価されやすく、年収アップや転職成功率の向上に直結します。継続的なスキルアップと資格取得を組み合わせることで、市場価値をさらに高めることができます。
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




