CentOSには、デフォルトで外部に対してルートアクセスが無効になっていることは誰もが知っています。つまり、SSH経由でrootユーザーとして直接ログインすることはできませんが、代わりに「sudo」コマンドを使用してroot権限を利用することはできます。
ただし、rootユーザーとして直接ログインする方が便利な場合もあります。そのため、この記事では、rootとしてログインしようとするときに、サーバーへのSSHログインを有効、無効、および保護する方法について説明します。
開始する前に、このチュートリアルを続行する前に、いくつかの要件を満たす必要があります。
要件:
- インストールされたCentOS;
- SSH経由でVPSにアクセスします;
- 「su」または「sudo」を使用してroot権限を取得できる通常のユーザー。
sudo権限を持つ通常のユーザーとしてSSH経由でCentOSVPSにログインします:
ssh user_name@Server_IP_Address -p Port_Number
SSHルートログインを無効にする
CentOS 7でSSHルートログインを無効にするルートログインを無効にするには、選択したテキストエディタでメインのssh構成ファイル「sshd_config」を変更する必要があります。この例では、nanoをエディターとして使用します。
nano /etc/ssh/sshd_config
次に、ファイル内でこの行を検索します。
#PermitRootLogin no
行の先頭から「#」を削除して、行のコメントを解除します。ファイルの行は次のようになります。
PermitRootLogin no
次のコマンドを実行すると、SSHデーモンサービスが再起動します。
systemctl restart sshd.service
これで、rootユーザーとしてログインしようとすると、「アクセスが拒否されました」と表示されます。 」エラー。
login as: root root@Server_IP_Address password: Access denied root@Server_IP_Address password:
この時点では、rootとして直接ログインすることはできませんが、sudo権限を持つ通常のユーザーとしてログインし、「sudo」または「su」コマンドを使用してrootユーザーに切り替えることはできます。例:
login as: username username@Server_IP_Address password: Last login: Wed Sep 26 12:11:38 2018 from IP_address [username@hostname ~]$ su - Password: Last login: Thu Sep 27 11:05:19 CDT 2018 from IP_address on pts/1 [root@hostname ~]#のIPアドレス
SSHルートログインを有効にする
ルートとしてのログインを有効にするには、選択したテキストエディタでメインのssh構成ファイル「sshd_config」を変更する必要があります。この例では、nanoをエディターとして使用します。
nano /etc/ssh/sshd_config
ファイル内で次の行を見つけます。
PermitRootLogin no
行の先頭に「#」を追加して行をコメントアウトするか、以下の例のように「no」を「yes」に変更します。
#PermitRootLogin no
または
PermitRootLogin yes
ファイルを保存したら、sshdサービスを再起動する必要があります。
systemctl restart sshd.service
これで、rootユーザーとして直接ログインを試みることができます。
login as: root root@Server_IP_Address password: Last login: Wed Sep 27 12:22:50 2018 from IP_address [root@hostname ~]#
CentOS7でのセキュアSSHアクセス
このセクションでは、CentOS7サーバーでSSHアクセスを保護する方法に関する簡単なヒントをいくつか紹介します。
SSHサーバーポートの変更
標準リスニングポートを変更するには、以下のコマンドを使用してSSH構成ファイルを変更する必要があります。
nano /etc/ssh/sshd_config
次に、ポート番号を参照する行を見つける必要があります。ポート番号(デフォルト値は22)を見つけたら、デフォルトのポート番号を好みの番号に編集できます。
編集が終了したら、Ctrl + Oを押してから、Ctrl+Xを押して保存して終了します。
次のコマンドを実行して、SSHデーモンサービスを再起動します。
systemctl restart sshd.service
SSHプロトコル1の無効化
SSHプロトコルには、SSHv1とSSHv2の2つのバージョンがあります。 SSHv1プロトコルは古いバージョンであり、新しいSSHv2プロトコルよりも安全性が低いため、SSHv1プロトコルの使用はお勧めしません。次のセクションでは、SSHv1を無効にします。何らかの理由でこのバージョンが必要な場合は、この部分を無視してかまいません。
次のコマンドでSSH構成ファイルを開きます:
nano /etc/ssh/sshd_config
行のコメントを外す
Protocol 2,1
次のように編集します:
Protocol 2
ここで、新しい構成を有効にするためにSSHサービスを再起動する必要があります。これを行うには、次のコマンドを実行します:
systemctl restart sshd.service
ルートアクセスを無効にすることも、SSHサーバーを保護する方法の1つであり、記事の冒頭で説明しました。
このチュートリアルでは、SSHでルートログインを無効にする方法と有効にする方法を学びました。
ポート番号を変更し、ルートアクセスを無効にし、SSHプロトコルSSHv1を無効にすることでSSHサーバーを保護する方法も学びました。
マネージドVPSホスティングクライアントの1つである場合は、システム管理者にCentOSサーバーでSSHを介したrootログインを有効または無効にするように依頼するだけです。 。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
このブログ投稿が役に立ったら、ソーシャルメディアネットワークを介して友達と共有してください。質問がある場合は、下にコメントを残してください。返信します。ありがとう!