ホームページ >運用・保守 >Linuxの運用と保守 >LinuxでSSHに2要素認証(2FA)を実装するにはどうすればよいですか?

LinuxでSSHに2要素認証(2FA)を実装するにはどうすればよいですか?

James Robert Taylor
James Robert Taylorオリジナル
2025-03-17 17:31:28294ブラウズ

LinuxでSSHに2要素認証(2FA)を実装するにはどうすればよいですか?

LinuxシステムでSSH用の2要素認証(2FA)を実装すると、アクセスを許可する前に2つの形式の検証を必要とすることにより、セキュリティが強化されます。 Google Authenticatorを使用して2FAをセットアップするための段階的なガイドを次に示します。これは、この目的で最も人気のあるツールの1つです。

  1. Google Authenticatorのインストール
    まず、Google Authenticator PAMモジュールをインストールします。 UbuntuのようなDebianベースのシステムでは、これを実行することでこれを行うことができます。

     <code>sudo apt-get update sudo apt-get install libpam-google-authenticator</code>

    CentosのようなRed Hatベースのシステムでは、以下を使用できます。

     <code>sudo yum install google-authenticator</code>
  2. ユーザー用のGoogle Authenticatorを構成します
    SSHを使用するユーザーとしてgoogle-authenticatorコマンドを実行します。

     <code>google-authenticator</code>

    このコマンドは、シークレットキーとQRコードを生成します。時間ベースのトークンを使用するかどうか、キーを30秒ごとに更新するかどうかなど、あなたの好みに応じてプロンプトに答えてください。

  3. Google Authenticatorを使用するようにPAMを構成します
    file /etc/pam.d/sshdを開いてSSHのPAM構成を編集し、最後に次の行を追加します。

     <code>auth required pam_google_authenticator.so</code>
  4. SSHD構成を変更します
    Open /etc/ssh/sshd_configと、次の設定が構成されていることを確認してください。

     <code>ChallengeResponseAuthentication yes PasswordAuthentication no UsePAM yes</code>

    次に、SSHサービスを再起動して変更を適用します。

     <code>sudo systemctl restart sshd</code>
  5. SSHログインをテスト
    SSH経由でログインしようとします。これで、パスワードに加えて、検証コードを求めるようになります。

LinuxシステムでSSHに2FAを使用することのセキュリティ利点は何ですか?

LinuxシステムでSSHの2要素認証を実装すると、いくつかのセキュリティ利点が提供されます。

  • セキュリティの強化:2FAはセキュリティの追加層を追加し、攻撃者が不正アクセスを得るのが大幅に難しくなります。パスワードが侵害されたとしても、攻撃者はログインするために2番目の要因を依然として必要とします。
  • パスワード攻撃に対する保護:2FAは、弱いパスワード、ブルートフォース攻撃、およびパスワードの推測によってもたらされるリスクを軽減します。アクセスにはパスワードだけ以上のものが必要です。
  • 説明責任と監視:2FAを使用すると、各ログインを物理デバイスに結び付けることができ、ログインの試みを簡単に監視および監視し、疑わしいアクティビティを検出できます。
  • インサイダーの脅威の削減:2FAは、従業員の資格が盗まれたり誤用されたりしても、2番目の要因がアクセスの障壁のままであることを保証することにより、インサイダーの脅威からの損害を制限する可能性があります。
  • セキュリティ基準のコンプライアンス:多くの規制の枠組みとセキュリティ基準では、リモートアクセスに2FAを使用する必要があるため、組織がコンプライアンス要件を満たすのに役立ちます。

LinuxでSSH用の2FAをセットアップするために使用できるツールまたはソフトウェアはどれですか?

LinuxでSSH用の2FAをセットアップするために、いくつかのツールとソフトウェアオプションを使用できます。

  • Google Authenticator :ほとんどのLinuxディストリビューションで広く使用およびサポートされているGoogle Authenticatorは、セットアップが簡単で、時間ベースのワンタイムパスワード(TOTP)を使用しています。
  • Authy :Google Authenticatorと同様ですが、マルチデバイスの同期やバックアップなどの追加機能があります。
  • デュオセキュリティ:認証やさまざまなシステムとの統合のためのプッシュ通知などの高度な機能を提供する2FAを提供する包括的なソリューション。
  • Yubikey :U2F(ユニバーサル2番目の要因)を使用し、その物理的な性質のために非常に安全なハードウェアベースの2FAソリューション。
  • Linux-PAM :Linuxのプラグ可能な認証モジュール(PAM)フレームワークは、Google Authenticatorを含むさまざまな2FAソリューションで動作するように構成できます。
  • FreeoTP :同様に機能し、多くのプラットフォームで利用できるGoogle Authenticatorに代わるオープンソースの代替品。

LinuxサーバーでSSHの2FAを構成するときに、一般的な問題をトラブルシューティングするにはどうすればよいですか?

LinuxサーバーでSSH用の2FAを構成する場合、いくつかの一般的な問題に遭遇する可能性があります。これらをトラブルシューティングする方法は次のとおりです。

  1. SSH接続は、2FAを構成した後に失敗します

    • SSHDの構成を確認しますChallengeResponseAuthenticationyesに設定され、 UsePAM /etc/ssh/sshd_configyesに設定されていることを確認してください。
    • PAM構成の検証: <code>auth required pam_google_authenticator.so</code>が/etc/pam.d/sshdに正しく追加されていることを確認してください。
  2. 検証コードは受け入れられていません

    • 時間同期:システム時間が正しく設定され、同期されていることを確認してください。時間ベースのワンタイムパスワード(TOTP)は、正確なタイムキーピングに依存しています。
    • Secret Keyの問題: <code>google-authenticator</code>によって生成されたシークレットキーがPAMモジュールによって正しく保存され、使用されていることを確認します。
  3. 認証プロンプトが表示されない

    • PAM構成の順序を確認します/etc/pam.d/sshdの問題でエントリの順序。 Google Authenticatorエントリが後続のエントリによってオーバーライドされていないことを確認してください。
  4. ログインループまたはハンギング

    • デバッグSSHD :SSHで-dフラグを使用してデバッグモードを有効にし、ログをキャプチャしてログインプロセスが失敗している場所を理解します。

       <code>ssh -v user@host</code>
    • ログを確認します:関連するエラーメッセージについては、システムログを調べます。

       <code>sudo journalctl -u sshd</code>
  5. ハードウェアトークンの問題

    • デバイスドライバーの問題:Yubikeyのようなハードウェアトークンを使用する場合、正しいドライバーがインストールされ、システムによって認識されていることを確認してください。

これらのトラブルシューティング手順に従うことにより、一般的な問題を解決し、2FAがLinuxサーバーのSSHに対して正しく機能していることを確認できます。

以上がLinuxでSSHに2要素認証(2FA)を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。