この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
sshd_config ファイルの PermitRootLogin でログイン権限を変更する
CentOS の初期設定では root によるログインが許容されています。ただ root でログインできる状態はセキュリティ上あまりおすすめできません。root ユーザーは不正ログインとして狙われやすく、万一にも乗っ取られた場合のダメージが大きいです。
そこで今回は CentOS にて root ユーザーによるログインを禁止(拒否)する方法を確認します。
なお事前に本記事の対応を行う前に、必ず別ユーザーでログイン及びルート権限に昇格ができることを確認してから作業を行ってください。
root ユーザーによるログインを禁止する手順
PermitRootLogin no
設定はとても簡単で SSH の設定ファイル /etc/ssh/sshd_config にある「PermitRootLogin」の項目を「no」に変更するだけです。
CentOS はデフォルトで root ユーザーによるログインを許容しているため、もしコメントアウトされているときはコメントアウトを解除した上で、「no」に変更して下さい。
root ユーザーによるログインを拒否した際の実行サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[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の知識については下記の本も参考になるので、スキルアップにお役立てください。