[CentOS] SSH にて root ユーザーによるログインを禁止(拒否)する

not_login_root_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

sshd_config ファイルの PermitRootLogin でログイン権限を変更する

CentOS の初期設定では root によるログインが許容されています。ただ root でログインできる状態はセキュリティ上あまりおすすめできません。root ユーザーは不正ログインとして狙われやすく、万一にも乗っ取られた場合のダメージが大きいです。

そこで今回は CentOS にて root ユーザーによるログインを禁止(拒否)する方法を確認します。

なお事前に本記事の対応を行う前に、必ず別ユーザーでログイン及びルート権限に昇格ができることを確認してから作業を行ってください。

 

root ユーザーによるログインを禁止する手順

PermitRootLogin no

設定はとても簡単で SSH の設定ファイル /etc/ssh/sshd_config にある「PermitRootLogin」の項目を「no」に変更するだけです。

CentOS はデフォルトで root ユーザーによるログインを許容しているため、もしコメントアウトされているときはコメントアウトを解除した上で、「no」に変更して下さい。

root ユーザーによるログインを拒否した際の実行サンプル

[root@localhost]# cat /etc/ssh/sshd_config
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

(省略)

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys
#AuthorizedKeysCommand none
#AuthorizedKeysCommandRunAs nobody

(省略)

あとは念のため sshd_config ファイルの記述に誤りがないか

/usr/sbin/sshd -t

コマンドで文法チェックを行ってから

systemctl reload sshd

コマンドで SSH の設定ファイルを再呼び込みすれば完了です。

 

 

Linuxの知識については下記の本も参考になるので、スキルアップにお役立てください。

created by Rinker
三宅 英明 (著)、大角 祐介 (著)
ページ数: 440ページ
出版社:SBクリエイティブ
発売日:2015/06/06

出典:amazon