SSH で root のみパスワード認証を禁止する

本来なら SSH での root でログインを禁止したいところですが、ServersMan@VPSでは SSH 以外でのログイン手段が無いので、root ユーザのみ公開鍵認証だけは通して、パスワード認証は無効にする設定を行うことにしました。

一般ユーザはパスワード認証を許可します。

参考にしたのは以下のページ。

sshd_config の PermitRootLogin に without-password を設定するとパスワード認証以外でのみログインできるようになるらしいです。

/etc/ssh/sshd_config の以下の項目を変更しました。

PermitRootLogin without-password
PubkeyAuthentication yes

以下の設定はデフォルトで有効なので設定ファイルを変更していなければそのままで OK でした。

PasswordAuthentication yes
UsePAM yes

設定を変更したら sshd を再起動

# service sshd restart

別のターミナルから root でパスワード認証の場合はログインできないことを確認します。

ここで注意。確認は別のターミナルで行ってください。最悪 root だけでなく他のユーザでもログインできなくなる可能性もあるので、確認が取れるまではログインしているセッションを 1 つは残しておいたほうが安全です。

ちなみに、ajaxterm も ssh 経由で接続しているため、この設定を行うと ajaxterm 経由での root ログインも不可になります。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です