ホームページ > 運用・保守 > CentOS > CentOSへの安全なリモートアクセスのためにSSHを構成するにはどうすればよいですか?

CentOSへの安全なリモートアクセスのためにSSHを構成するにはどうすればよいですか?

Johnathan Smith
リリース: 2025-03-14 15:54:31
オリジナル
259 人が閲覧しました

CentOSへの安全なリモートアクセスのためにSSHを構成するにはどうすればよいですか?

CENTOSサーバーで安全なリモートアクセスにSSHを構成するには、次の手順に従ってください。

  1. システムの更新:Centosシステムが最新であるようにすることから始めます。ルートユーザーとして次のコマンドを実行します。

     <code>sudo yum update sudo yum upgrade</code>
    ログイン後にコピー
  2. OpenSSHのインストール:通常、OpenSSHパッケージはデフォルトでインストールされますが、そうでない場合は、以下を使用してインストールできます。

     <code>sudo yum install openssh-server openssh-clients</code>
    ログイン後にコピー
  3. SSHサービスの開始と有効化:SSHサービスが実行されていることを確認し、ブートで開始するように設定します。

     <code>sudo systemctl start sshd sudo systemctl enable sshd</code>
    ログイン後にコピー
  4. SSHの構成:SSH構成ファイル( /etc/ssh/sshd_config )を編集して、設定をカスタマイズします。テキストエディターで開く:

     <code>sudo nano /etc/ssh/sshd_config</code>
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー

    考慮すべき重要な設定には、以下が次のとおりです。

    • デフォルトのポートを変更します(例: Port 2222 )。
    • ルートログインを無効にします( PermitRootLogin no )。
    • 特定のユーザーまたはグループのみを許可します( AllowUsers user1 user2またはAllowGroups groupname )。
  5. SSHサービスを再起動します:変更を行った後、SSHサービスを再起動してそれらを適用します。

     <code>sudo systemctl restart sshd</code>
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー
  6. テスト接続:別のマシンから、新しい設定を使用してSSH接続をテストします。

     <code>ssh -p 2222 user@your_server_ip</code>
    ログイン後にコピー

これらの手順に従うことにより、CentOSサーバーへの安全なリモートアクセス用にSSHを構成します。

CentOSサーバーでSSHを保護するためのベストプラクティスは何ですか?

CentOSサーバーでSSHのセキュリティを強化するには、次のベストプラクティスを実装することを検討してください。

  1. 非標準ポートを使用します。デフォルトのSSHポートを22から非標準ポート(例えば、2222)に変更して、自動攻撃の可能性を減らします。
  2. ルートログインの無効化:SSH構成ファイルにPermitRootLogin noを設定して、SSHを介してRootが直接ログインするのを防ぎます。これにより、ユーザーは非ルートアカウントでログインし、管理タスクにsudoを使用することができます。
  3. パスワードの代わりにSSHキーを使用します。:SSH構成ファイルでPasswordAuthentication noを設定して、キーベースの認証を有効にし、パスワード認証を無効にします。これにより、ブルートフォース攻撃のリスクが大幅に減少します。
  4. 2因子認証を実装(2FA) :2FAにセキュリティの追加レイヤーを追加します。 Google AuthenticatorやDuo Securityなどのツールは、SSHと統合できます。
  5. ユーザーアクセスを制限する:SSH構成のAllowUsersまたはAllowGroupsを使用して、SSHを介してサーバーにアクセスできるユーザーを制限します。
  6. SSHプロトコル2を使用します。プロトコル1にはセキュリティの脆弱性が既知であるため、構成ファイルにProtocol 2を設定することにより、SSHプロトコル2のみが許可されていることを確認します。
  7. 定期的に更新およびパッチ:SSHサーバーとCentOSシステムを最新のセキュリティパッチで更新して、既知の脆弱性から保護します。
  8. FAL2BANの実装:このツールは、ログインの試みを監視し、悪意のある動作を示すIPアドレスを一時的または永久に禁止することにより、ブルートフォース攻撃を防ぐのに役立ちます。
  9. ファイアウォールを使用してください:信頼できるIPアドレスまたはネットワークからのSSH接続のみを許可するように、ファイアウォールを構成します。

これらのベストプラクティスに従うことにより、CentOSサーバーのSSHのセキュリティを大幅に強化できます。

CENTOSの特定のユーザーへのSSHアクセスを制限できますか?

はい、SSH構成ファイルを変更することにより、CENTOSの特定のユーザーへのSSHアクセスを制限できます。これがそれを行う方法です:

  1. SSH構成ファイルを編集します。テキストエディターでSSH構成ファイルを開きます。

     <code>sudo nano /etc/ssh/sshd_config</code>
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー
  2. Allowusersディレクティブの追加AllowUsersディレクティブを追加し、許可するユーザー名が続きます。例えば:

     <code>AllowUsers user1 user2 user3</code>
    ログイン後にコピー

    これにより、 user1user2 、およびuser3のみがSSHを介してサーバーにアクセスできます。

  3. Add AllowGroupsディレクティブ:または、 AllowGroupsディレクティブを使用して、グループメンバーシップに基づいてアクセスを許可することができます。まず、ユーザーが指定されたグループの一部であることを確認してから、次を追加します。

     <code>AllowGroups ssh_users</code>
    ログイン後にコピー

    これにより、 ssh_usersグループのすべてのユーザーがSSHを介してサーバーにアクセスできます。

  4. SSHサービスを再起動します:変更を行った後、SSHサービスを再起動してそれらを適用します。

     <code>sudo systemctl restart sshd</code>
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー

これらのディレクティブを使用することにより、CENTOSサーバー上の特定のユーザーまたはグループへのSSHアクセスを効果的に制限できます。

CentOSでSSHのキーベースの認証をセットアップするにはどうすればよいですか?

CentOSでSSHのキーベースの認証をセットアップするには、クライアントマシンでSSHキーを生成し、これらのキーを受け入れるようにサーバーを構成することが含まれます。これが段階的なガイドです:

  1. クライアントにSSHキーを生成します

    • クライアントマシンで端末を開きます。
    • 次のコマンドを実行して、新しいSSHキーペアを生成します。

       <code>ssh-keygen -t rsa -b 4096 -C "your_email@example.com"</code>
      ログイン後にコピー
    • Enterを押して、デフォルトの場所( ~/.ssh/id_rsa )にキーを保存します。
  2. 公開キーをサーバーにコピーします

    • ssh-copy-idコマンドを使用して、公開キーをCentosサーバーにコピーします。

       <code>ssh-copy-id user@your_server_ip</code>
      ログイン後にコピー
    • ssh-copy-idが利用できない場合は、 ~/.ssh/id_rsa.pubの内容を手動でコピーし、サーバー上の~/.ssh/authorized_keysファイルに追加します。
  3. サーバーでSSHを構成します

    • Centosサーバーにログインします。
    • SSH構成ファイルを開きます。

       <code>sudo nano /etc/ssh/sshd_config</code>
      ログイン後にコピー
      ログイン後にコピー
      ログイン後にコピー
    • 次の設定が整っていることを確認することにより、キーベースの認証を有効にします。

       <code>PubkeyAuthentication yes PasswordAuthentication no</code>
      ログイン後にコピー
    • AuthorizedKeysFile行が存在する場合は、次のように設定されていることを確認してください。

       <code>AuthorizedKeysFile .ssh/authorized_keys</code>
      ログイン後にコピー
  4. SSHサービスを再起動します

    • 構成ファイルを変更した後、SSHサービスを再起動して変更を適用します。

       <code>sudo systemctl restart sshd</code>
      ログイン後にコピー
      ログイン後にコピー
      ログイン後にコピー
  5. キーベースの認証をテストします

    • クライアントマシンから、SSHキーを使用してサーバーにログインしようとします。

       <code>ssh user@your_server_ip</code>
      ログイン後にコピー
    • 正しく構成されている場合、パスワードを入力せずにログインできるはずです。

これらの手順に従うことにより、CentOSサーバーでSSHのキーベースの認証を設定し、パスワードベースのログインの必要性を排除することでセキュリティを強化できます。

以上がCentOSへの安全なリモートアクセスのためにSSHを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート