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をインストールして設定します。
クラウドサーバーなどのパブリックインターネットで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のインストールと構成が完了しました。
ご不明な点がございましたら、お気軽にお問い合わせください。