GNU/Linux >> Linux の 問題 >  >> Linux

CentOSとRHELでSSHを設定する方法

SSH(Secure Shell)は、クライアントサーバーアーキテクチャに基づく安全なネットワークプロトコルであり、ネットワークを介してリモートのコンピューター/サーバーに安全にアクセスできます。

SSHは、リモートサーバーに接続するためにシステム管理者によって広く使用されています。これにより、管理者はいつでもどこからでもリモートで安全にサーバーとアプリケーションを簡単に管理できます。

このガイドでは、CentOS/RHELシステムでSSHを設定して有効にする方法を説明します。このCentOSシステムでSSHを有効にすると、IPアドレスを使用して他のコンピューターからこのシステムにアクセスできるようになります。

このチュートリアルには、デフォルトのSSHポートを変更し、rootユーザーのSSHログインを無効にし、SSHサーバーを保護するためにfirewalldを設定する手順も含まれています。

このガイドを完了するには、次の要件があることを確認してください。

  • CentOS /RHELLinuxシステム。物理マシン/実際のハードウェアにインストールするか、KVM / VirtualBoxを介して仮想マシンを使用するか、Linodeなどのサードパーティのクラウドプロバイダーを使用してインストールできます(ただし、通常はSSHがすでに有効になっています)。
  • sudo/root権限を持つroot以外のユーザー。このユーザーは、システムの変更に使用されます。そして最終的に、このユーザーを使用してサーバーにログインできます。

OpenSSHパッケージのインストール

OpenSSHは、SSHプロトコルの最も一般的なソフトウェア実装の1つです。何百万ものLinuxサーバーで使用されており、サーバー環境の重要な部分になっています。デフォルトでは、OpenSSHはCentOSやRHELシステムを含むほとんどのLinuxディストリビューションリポジトリで利用できます。

始める前に、以下のようにDNFパッケージマネージャーを使用してパッケージインデックスを更新してください。

sudo dnf check-update

次に、次のコマンドを使用して、CentOS/RHELシステムにOpenSSHパッケージをインストールします。このコマンドは、OpenSSHサーバーパッケージとOpenSSHクライアントソフトウェアをインストールします。

sudo dnf install openssh-server openssh-clients -y

OpenSSHのインストールが完了したら、次のコマンドを実行してsshdを開始します。 サービスを提供し、システムの起動時に自動的に開始できるようにします。

sudo systemctl enable --now sshd

次に、sshdを確認します 次のコマンドを実行してサービスステータスを確認します。

sudo systemctl status sshd

次のスクリーンショットのような出力が表示されます。 sshd サービスはactive (running)

SSHサーバーの構成

デフォルトでは、SSH構成は/etc/sshで利用できます。 ディレクトリであり、メインの構成ファイルはsshd_configです。 。このファイルには、ListenAddressなどの基本的なSSH構成が含まれています 実行中のSSHサービスのIPアドレスPortを決定します SSHサービスポート、認証方法などを設定するため。

このセクションでは、構成を変更しますsshd_config 次に、デフォルトのSSHポートを変更し、rootユーザーのログインを無効にします。

この設定はセキュリティ上の理由から推奨されます。サーバーのセキュリティを強化し、サーバーに対するブルートフォース攻撃を減らすためです。

次に、ファイルsshd_configを開きます。 viを使用する 編集者またはお好みの編集者。

sudo vi /etc/ssh/sshd_config

ファイルの編集を開始する前に、#で始まる行を知っておく必要があります 空の行はコメントとして解釈されます。

行の先頭で、デフォルトのSSHポートを22から変更します ご希望のポートに。このチュートリアルでは、非標準ポート2028を使用します SSHの場合。

Port 2028
⚠️このシステムでsudoアクセスがすでに有効になっているroot以外のユーザーがいることを確認してください。そうしないと、rootログインを無効にすると、サーバーにリモートでログインできなくなる可能性があります。

次に、PermitRootLogin yesのオプションを変更します PermitRootLogin noへ 。これにより、ユーザーrootのSSHログインが無効になります ユーザー。オプションで、#を追加できます 行の先頭PermitRootLogin

PermitRootLogin no

ファイルを保存して閉じます。

変更を加えた後、SSH構成を確認してから、sshdを再起動します サービス。

sshd -t
sudo systemctl restart sshd

これで、sshを実行してSSHサーバーに接続できます。 以下のコマンド。

ssh [email protected] -p PORT

-p オプションは、SSHサーバーのポートを指定するために使用されます。

このセクションでは、デフォルトのSSHポートを変更し、rootのログインを無効にすることで、SSHサーバーを保護するための基本構成を完了しました。 ユーザー。さらに、非標準のポートを使用してSSHサーバーに接続する方法を学びました。次に、firewalldをインストールして設定します。

Firewalldのインストールと設定

クラウドサーバーなどのパブリックインターネットでCentOS/RHELサーバーを使用している場合は、ファイアウォールを有効にする必要がある場合があります。これにより、SSH、HTTP、HTTPSなどの特定のサービスにのみアクセスが制限されるため、サーバーのセキュリティが向上します。 CentOS / RHELベースのディストリビューションでは、firewalldはシステムにインストールできるデフォルトのファイアウォールパッケージです。

このセクションでは、firewalldをインストールし、SSHサーバー用に開いているポートを設定します。

Firewalldをインストールするには、dnfを実行します 以下のコマンド。

sudo dnf install firewalld -y

Firewalldのインストールが完了したら、firewalldを起動して有効にします サービス。次に、次のコマンドを実行してステータスを確認します。

sudo systemctl enable --now firewalld
sudo systemctl status firewalld

以下のスクリーンショットのような同様の出力が表示されます。 firewalld サービスはactive (running)

Firewalldとやり取りするには、コマンドfirewall-cmdを使用できます。 。これは、firewalldルールを管理するためのコマンドラインインターフェイスです。 firewall-cmdを使用できます Firewalldルールを追加、削除、変更します。また、firewall-cmdを使用してできることは他にもたくさんあります。 。

ここで、カスタムSSHポートをシステムに追加するには、firewall-cmdを実行します。 以下のコマンド。

sudo firewall-cmd --add-port=2028/tcp --permanent

出力successを受け取ります 、これは操作が成功して完了したことを意味します。

この例では、ポート2028を使用しています カスタムSSHポートとして。 SSHサービスはTCPポートで実行されているため、2028/tcpなどのポートとプロトコルを指定する必要があります。 。オプション--permanent このルールを永続的にします。

次に、次のコマンドを使用して、firewalldルールをリロードし、新しい構成を適用します。

sudo firewall-cmd --reload

SSHカスタムポートをfirewalldに追加しました。以下のコマンドを実行して、有効なすべてのルールを一覧表示します。

sudo firewall-cmd --list-all

これで、firewalldで有効になっているルールのリストが表示されます。 SSH、コックピット、およびdhcpサービスはデフォルトで有効になっています。

デフォルトのSSHルールを削除するには、firewall-cmdを実行します 以下のコマンド。次に、firewalldルールを再度リロードします。

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

これで、SSHサーバーを保護するためのfirewalldのインストールと構成が完了しました。

結論

このガイドでは、CentOS/RHELシステムでのSSHのインストールと設定を完了しました。デフォルトのポートを変更し、rootのログインを無効にすることで、SSHサーバーを保護しました。 ユーザー。さらに、SSHサーバーを保護するためのCentOS/RHELシステムでのfirewalldのインストールと構成が完了しました。

ご不明な点がございましたら、お気軽にお問い合わせください。


Linux
  1. CentOS 8でDHCPサーバーをセットアップする-その方法は?

  2. CentOS8でVSFTPDを設定する方法

  3. CentOS/RHEL サーバーで SSH バナーを作成する方法

  1. CentOS / RHEL 7 :デフォルト ターゲット (デフォルト ランレベル) の設定方法

  2. CentOS / RHEL :DHCP サーバーの構成方法

  3. CentOS / RHEL :chroot jail SFTP のセットアップ方法

  1. RHEL 8 /CentOS8にvncサーバーをインストールする方法

  2. NextcloudをRHEL8/CentOS8サーバーにインストールする方法

  3. RHEL 8 /CentOS8サーバーにOwnCloudをインストールする方法