なぜ SSH の root ログインを無効にするのか?
root は、どの攻撃者もすでに知っている唯一のユーザー名です。インターネットをスキャンするボットはあなたのユーザー名を推測しません ── ひたすら root に対してパスワードを次々と打ち込みます。root の SSH ログインを無効にすれば、この種の攻撃はまるごと機能しなくなり、攻撃者はユーザー名と認証方法の両方を当てる必要が出てきます。代わりに通常のユーザーとしてログインし、root が必要なときは sudo を使います。これは費用対効果が最も高く、手間の最も少ない SSH ハードニングの一つです。
ステップ 1 ── まず sudo ユーザーを用意する
別の方法でログインできるようになるまで root を無効にしないでください。さもないと自分を締め出してしまいます。sudo 権限を持つ通常のユーザーを作成します。
# 以 root 身份,建用户并给 sudo
adduser alice
usermod -aG sudo alice # Debian/Ubuntu
# (RHEL/Fedora:usermod -aG wheel alice) 次に、別のセッションで、そのユーザーでログインでき、sudo -v を実行できることを確認します。それが動いてから先に進んでください。
ステップ 2 ── そのユーザーに鍵を設定する(推奨)
ついでに新しいユーザーに鍵認証を設定しましょう ── これこそ本当のセキュリティ上の利点で、root を無効にするだけよりも効果が大きいです。公開鍵を /home/alice/.ssh/authorized_keys に追加します(TermAI のようなモバイルクライアントが代わりにデプロイできます)。SSH 鍵とパスワードの比較を参照してください。
ステップ 3 ── root ログインを無効にする
/etc/ssh/sshd_config で次のように設定します。
PermitRootLogin no そして SSH を再起動します:sudo systemctl restart ssh。現在のセッションを開いたままにし、新しい接続で自分のユーザーでまだログインできること ── そして ssh root@host が拒否されるようになったことを確認します。
スマホからやる
これらはすべてモバイル SSH クライアントから実行できます:SFTP または nano で sshd_config を編集し、ターミナルでユーザー作成/sudo コマンドを実行し、保存した接続のユーザー名を root から新しいユーザーに更新します。お使いのディストリビューションの正確な usermod グループが分からない場合は、TermAI のアシスタントに尋ねてください ── セッションからあなたが Debian なのか RHEL なのかを把握し、正しいコマンドを提示します。
ハードニングチェックリストの残り
root の無効化は、他の基本項目と自然に組み合わさります。影響の大きい順に並べます。
- 鍵 +
PasswordAuthentication no── 最大の利点(鍵とパスワード)。 - root ログインを無効にする ── この記事。
- fail2ban ── 繰り返す侵入者を自動的に締め出す。
- Tailscale/WireGuard の背後に置く ── そもそも SSH を公開しない。
- 必要に応じてポートを変更 ── ログを静かにするため(SSH ポートは変更すべき?)。
FAQ
SSH の root ログインを無効にするには?/etc/ssh/sshd_config で PermitRootLogin no を設定して SSH を再起動します ── ログインできる sudo ユーザーを作成した後で。
自分を締め出してしまいませんか?
sudo ユーザーのステップを省いた場合だけです。root を無効にする前に、別のセッションで sudo 権限を持つ通常のユーザーを作成してテストしてください。
root を無効にして鍵も使うべき?
はい ── 両者は補完的です。鍵はパスワード攻撃を防ぎ、root の無効化は誰もが狙う唯一のユーザー名を取り除きます。
クイックファクト
- 理由:
rootは万人共通のブルートフォースの標的;無効にすればその攻撃を止められる - 方法:sudo ユーザーを作る → テストする →
PermitRootLogin no→ SSH を再起動 - 締め出さない:まず別のセッションで sudo ユーザーが使えることを確認
- 組み合わせ:鍵認証 +
PasswordAuthentication no
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.