Linux で root ユーザのログインを禁止する

Linux のイメージ。

root はあらゆる Linux システムで標準に用意されていますから、例えば「Brute Force Attack (総当たり攻撃)」などの対象になりやすいです。 root ユーザで不正にログインされてしまうと、すべての制御を奪われてしまいます。 したがって、root ユーザ以外の root 権限が取得可能なユーザを追加して、 そのユーザがサーバにログインできるような設定が完了したら、root ユーザでのログインを禁止しておくのが良いです。 ここでは root ユーザのログインを禁止する手順について解説します。

注意が必要です。root 権限を取得可能な他のユーザがログインできるような環境を用意するまで、 設定に利用しているターミナルソフトウェア(Tera Term など)を絶対に終了しないでください。 このページで解説する作業に入る前にあらかじめユーザを追加しておくことを推奨します。 最悪の場合、どのユーザも root 権限を取得できない、ログインできない状態になり、OS を再インストールすることになります。

sshd_config を編集して適用する

/etc/ssh/sshd_config ファイルを編集します。

vi /etc/ssh/sshd_config

項目「PermitRootLogin」を no に設定すると、root ユーザのログインが禁止されます。 私の環境の場合は「PermitRootLogin」は「#」で無効化(コメントアウト)されていたので、その下に追加して記述することにしました。

…
#PermitRootLogin yes
…
…
#PermitRootLogin yes
PermitRootLogin no
…

編集を終了したら、次のコマンドで編集内容を反映します。

/etc/rc.d/init.d/sshd reload
Reloading sshd:    [OK]

root ユーザでログインすることができなくなっているかどうか確認してください。