kazmax - Linux で自宅サーバー

sshのrootログインを禁止する

root でのログインはセキュリティ上あまりよろしくないです。 デフォルトの状態で、ネットワークごしの root ログインが禁止設定になっているものもあるようですが、CentOSは許可されていました。

root ログインの禁止設定は、sshd_config というファイルの編集だけで済みます。 ここでは、root ログインの禁止方法を説明します。

Last Update : 2006年09月02日

sshのrootログインを禁止する 手順

設定の手順は以下の通りです。

1. /etc/ssh/sshd_config を修正

# vi /etc/ssh/sshd_config
・・・
# Logging
#obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes → PermitRootLogin no に変更

#StrictModes yes
#MaxAuthTries 6
・・・

sshd_config はssh の設定ファイルとなっていて、 PermitRootLogin は、root のログインを許可するか否かの設定の項目です。

  • yes にすれば、root のログインを許可する。
  • no にすれば、root のログインを許可しない。

あとは、設定した内容をサービスに反映させるだけです。

2. sshd を再起動

# which sshd
/usr/sbin/sshd

# /usr/sbin/sshd -t ← テスト

# /etc/init.d/sshd restart
sshd を停止中: [ OK ]
sshd を起動中: [ OK ]

/usr/sbin/sshd -t でテストをしています。

「1./etc/ssh/sshd_configを修正」で設定の仕方を誤ったり、 ファイルを修正している際に、おかしな文字をいれたりなどして、 設定ファイルにミスがあるとこの時点で教えてくれます。

サーバがリモート先にある場合、いきなりrestart をかけると、 設定ファイルにミスがある場合、いきなり切断などありえるので、 テストしておいた方が良いかと思われます。