デフォルトでは、SSHは、rootユーザーも含むすべての有効なユーザーアカウントがリモートシステムにログインすることを許可します。 rootユーザーには強力なパスワードが設定されていますが、ブルートフォース攻撃への露出を制限することしかできません。ただし、制限するだけであると述べたように、rootアカウントへの悪意のあるアクセスが可能です。したがって、SSH経由のrootユーザーログインを無効にし、リモートシステムへのアクセスに非特権ユーザーアカウントを使用することが常にベストプラクティスです。非特権ユーザーとしてリモートシステムにアクセスできるようになったら、su -
rootアカウントに切り替えるために使用できます。このチュートリアルでは、CentOS7でSSH経由のrootユーザーログインを無効にする方法を説明します。
このチュートリアルで説明されている手順には、rootアクセスが必要です。使用されているアカウントの例は「管理者」であり、選択したユーザー名に置き換える必要があります。
ステップ1: root
としてシステムにログインします ユーザー。心配しないでください。root
を使用します。 このステップでのみリモートログインを考慮します。
ステップ2: 代替ユーザーアカウントを作成します。例:administrator
。
[root@root ~]# adduser administrator
ステップ3: 手順2で作成したユーザーアカウントに強力なパスワードを設定します。
[root@root ~]# passwd administrator
ステップ4: 別のターミナルを開き、手順2で作成した新しいユーザーとしてシステムにログインします。この手順では、新しいアカウントが正しく機能するかどうかをテストできます。
ステップ5: rootアカウントに切り替えることができることをテストします。
[administrator@administrator ~]$ su -
root
と入力します アカウントのパスワードを入力し、rootアクセスを取得したかどうかを確認します。
[root@root ~]# whoami root
ステップ6: root
を無効にする SSH経由のユーザーログイン。
[root@root ~]# vi /etc/ssh/sshd_config
ステップ7: '#PermitRootLogin yes'
。デフォルトでは、root
ログインはSSHで許可されています。
ステップ8: '#PermitRootLogin yes' to 'PermitRootLogin no'
ステップ9: ファイルを保存して終了します
ステップ10: sshd_config
構文エラーはありません。
[root@root ~]# /usr/sbin/sshd -t [root@root ~]# echo $? 0
上記の出力は、sshd_config
構文エラーはありません。場合によっては、エラーが発生すると、ゼロ以外の出力が表示されます。
ステップ11: SSHを再起動して、新しい構成の変更を読み取ります。
# service sshd restart
ステップ12: root
を確認してください SSH経由のログインは無効になっています。
ssh root@<ip-address>
root
に有効なパスワードを入力しても、アクセスを拒否する必要があります ユーザー。これは、SSHがroot
へのアクセスを拒否したことを意味します アカウント。
ステップ13: 手順2で作成した非特権ユーザーアカウントとしてログインします。
ステップ14: 必要に応じて、root
に切り替えます 以下のアカウント:
[administrator@administrator ~]$ su -
それでおしまい! root
を正常に無効にしました SSH経由でリモートシステムにログインします。
上記のコマンドは、CentOS7およびOpenSSH_6.6.1p1
でテストされました。