GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7でSSHルートログインとセキュアSSHアクセスを無効または有効にする

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時間年中無休でご利用いただけます。リクエストはすぐに処理されます。

このブログ投稿が役に立ったら、ソーシャルメディアネットワークを介して友達と共有してください。質問がある場合は、下にコメントを残してください。返信します。ありがとう!


Cent OS
  1. CentOSおよびUbuntuオペレーティングシステムでSSHリモートルートログインを有効にする

  2. CentOS/RHEL で再起動せずに HBA を無効または有効にする方法

  3. CentOS / RHEL 6 :Telnet 経由の直接ルート ログインを無効化 / 有効化する方法

  1. DebianLinuxServerでSSHルートログインを有効にする

  2. CentOS / RHEL :ダイレクト ルートおよび非ルート ユーザー ssh ログインを無効化 / 有効化する方法

  3. CentOS / RHEL :システムで root ログインまたは root アクセスを無効にする方法

  1. Ubuntu 20.04でrootユーザーアカウントを有効または無効にします-今すぐ実行しますか?

  2. SSH経由でrootユーザーのログインを無効にする方法

  3. サーバーへの SSH 経由の直接ルート ログインとユーザー アクセスを無効にする