Linux共通

LinuxサーバーでSSHを通じてのrootユーザ直接ログインを禁止する方法

Linuxサーバーのセキュリティ対策として、rootユーザでのSSH直接ログインを禁止する設定を紹介します。

この設定を適用することで、UbuntuやRHEL(Red Hat Enterprise Linux)を含む多くのLinuxディストリビューションでサーバーへの不正アクセスリスクを大幅に軽減できます。

本記事では、その設定手順とオプションについて詳しく解説します。

SSHサーバーの設定ファイル

LinuxのSSHサーバーの設定は、/etc/ssh/sshd_configファイルで行われます。このファイルを編集することで、様々なセキュリティポリシーを実施することが可能です。

変更方法

以下の手順に従って、設定ファイルを安全に編集しましょう。
設定ファイルはrootユーザでのみ編集可能です。

ターミナルを開き、以下のコマンドでsshd_configファイルを編集します。

vi /etc/ssh/sshd_config

PermitRootLogin の設定

PermitRootLogin はrootユーザーのSSHログイン許可設定を管理します。このオプションには以下の値を設定できます:

yesrootユーザのログインを許可します。
prohibit-passwordパスワード認証を用いたrootログインを禁止しますが、公開鍵認証は許可します。
noすべての方法によるrootユーザのログインを完全に禁止します。

設定例と再起動

設定例

PermitRootLogin prohibit-password

設定後、変更を有効にするためにSSHサービスを再起動します。

systemctl restart sshd

まとめ

rootユーザでの直接ログインを禁止することで、潜在的なセキュリティリスクを最小限に抑えることができます。
設定の際は、ファイルのバックアップを取ることを忘れないでください。