リモートログインの認証にパスコードジェネレーターを使用するにはどうすればよいですか?


55

別の要素を追加して、SSHログインの認証を強化したいと思います。パスコードジェネレーターデバイス、または携帯電話のパスコード生成アプリケーションです。デフォルト設定の明白なオプションは、固定パスワードとキーペアのみです。これどうやってするの?

(パスワードとパスコードジェネレーターを使用すると、2要素認証(2FA)が提供されます。パスワードは「私が知っていること」、パスコードは「持っているもの」です。)

回答:


49

これを行う1つの方法は、Googleが提供するGoogle Authenticatorというツールを使用することです。

  1. libpam-google-authenticatorをインストールします libpam-google-authenticatorをインストールします

    • あるいは単に sudo apt-get install libpam-google-authenticator
  2. 編集/etc/pam.d/sshdしてモジュールを含めます:

    • sudoedit /etc/pam.d/sshd
    • そして、ファイル先頭にこの行を含めて保存します:

      auth required pam_google_authenticator.so
      
  3. SSH構成ファイルを編集して、チャレンジをオンにします。

    • sudoedit /etc/ssh/sshd_config 次に、応答認証を次から変更します。

      ChallengeResponseAuthentication no 
      

      ChallengeResponseAuthentication yes
      

      そして、ファイルを保存します。

  4. sudo restart ssh SSHを再起動するには

  5. 走る google-authenticator

    • これにより、秘密鍵、確認コード、緊急スクラッチコードが提供されます。また、レート制限に関する質問もあります。

モバイルアプリケーション:

別のデバイスで認証コードを受信するには、これらのいずれかが必要です。

関連および有用:

パスワードを使い捨てパスコードと組み合わせると、2要素認証であることに注意してください。「知っていること」(パスワード)と「持っているもの」(パスコード生成デバイス)を組み合わせます。一方、使い捨てのパスコードとSSHキーペアを組み合わせた場合、それはすべて「持っているもの」になります。2つの認証要素が同じタイプの場合、2要素認証はありません。これは「1.5因子認証」とも呼ばれます。


12

Google Authenticatorはパーソナルサーバーには適していますが、既存のIDインフラストラクチャとうまく連携しない場合があります。他のオプションを検討する場合は、RADIUSを認証プロトコルおよびpam-radiusプラグインとして使用することを検討してください。エンタープライズ指向の2要素認証システムはすべて、半径をサポートしています。Ubuntuにpam-radiusを介してWiKID二要素認証を追加する方法に関するドキュメントを作成しました。

radiusを使用すると、SSH以外のシステムを同じ認証サーバーに結び付けることができます。また、認証リクエストをfreeradius経由でLDAPにルーティングし、次に2FAサーバーにルーティングして、認証と認証を分離することもできます。AD btwでも同じことができます。


1

前に説明したように(現在は修正済み)、次の行を下部ではなく上部に配置することをすべてのユーザーに推奨します/etc/pam.d/sshd

auth required pam_google_authenticator.so

そうしないと、システムはパスワードに対するブルートフォース攻撃を受けやすくなり、2要素認証の最初の部分であるパスワードが危険にさらされます。

最初に確認コードを求められ、次にパスワードが求められます(コードが正しいかどうかは関係ありません)。どちらかが間違っている場合は、両方を再度入力する必要があります。別の方法で設定することもできますが、現在のデフォルトのubuntu(15.04)sshd設定で説明するのは少し難しい変更です。

それが必要な理由の詳細については、この問題を確認してください。

https://github.com/google/google-authenticator/issues/514

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.