web-dev-qa-db-ja.com

Google認証システムを使用してUbuntuユーザー向けにUbuntuで2要素認証を設定する方法

Google認証システムを使用してUbuntuユーザー向けにUbuntuで2要素認証を設定する方法(Google以外のアカウントにも設定できます)。

11
Hrish

注:ユーザーに対して2要素認証を有効にし、rootに対して同じ設定をしないと、rootとして直接ログインできなくなります。このような場合、回避策は、セットアップされている他のSudoユーザーを使用し、Sudo su -を使用してrootユーザーに切り替えることです。


以下の手順に従って設定してください。

  1. 以下のパッケージをインストールして、PAM認証のアドオンとして使用するGoogle認証システムをインストールします。

    Sudo apt-get install libpam-google-authenticator
    
  2. 次に、このファイルを/etc/pam.d/sshd編集し、以下に示すようにGoogle認証システムを追加します。

    *Sudo vim /etc/pam.d/sshd
    

    このファイルの上部に以下を入力してください-

    auth required pam_google_authenticator.so
    
  3. ここで/etc/ssh/sshd_configを変更して、sshがGoogle認証システムを使用するようにする必要があります。これにより、sshが2要素認証を使用するようになります。

    vim /etc/ssh/sshd_config
    

    このファイルでは、ChallengeResponseAuthenticationを見つけて、コメントを外し、以下のように変更する必要があります(要するにyes:Pに設定します)。

    ChallengeResponseAuthentication yes
    

    追加またはGUI 2要素認証、またはこれをスキップしてステップ4に進みます GUIログインを有効にするには、/etc/pam.d/common-authを編集します。

    Sudo vim /etc/pam.d/common-auth
    

    そして、このauth required pam_google_authenticator.soを行auth [success=1 default=ignore] pam_unix.so nullok_secureの上に追加し、ファイルを保存します。

  4. 次に、設定するアカウントに変更します。
    注:システム上に少なくとも2つのスーパーユーザーアカウントを作成することをお勧めします。ルートアカウントではなく、少なくとも1つを最初に設定します)

    Sudo su - testuser1
    
  5. 次のコマンドを使用して、このtestuser1の2要素認証をセットアップします。

    google-authenticator
    
  6. このコマンドを実行すると、以下の質問が表示されます。 (推奨される答えは「はい」です)

    認証トークンを時間ベース(y/n)にしたいですかy

  7. その後、QRコードと緊急スクラッチコードおよびその他の詳細が表示されます。出力は、次の画像のようになります。

    enter image description here

  8. Android/Apple/Blackberry電話を使用して、Google Authenticatorたとえば、それぞれの市場からアプリケーションをダウンロードしてインストールする必要がありますGoogle Playストア。ログイン用のコードを生成します。

    以下は、アプリケーションAndroid電話から取得したアプリケーションアイコンとアプリケーションのスクリーンショットです。

    enter image description hereenter image description here

  9. 携帯電話でアプリケーションを起動してQRコードをスキャンするか、QRの下にある秘密鍵と検証コードを使用しますシステム上のコード。上記の最初のスクリーンショットでも確認できます。

  10. このすべてが完了したら、それは非常に重要書き留めて、緊急スクラッチコードを保存します =安全な場所に。これらは何らかの方法でロックアウトされた場合に役立つコードです。

  11. この時点で、以下の質問をしている画面の下部を見てください。 (推奨される答えはYesです):

    「/home/testuser1/.google_authenticator」ファイルを更新してほしいですか(y/n)y

  12. もう一度質問がありますが、以下の質問の推奨される回答も「はい」です。

    同じ認証トークンの複数の使用を禁止しますか?これにより、30秒ごとに1回のログインに制限されますが、man-in-the-middle攻撃(y/n)y

  13. 次の質問は以下のとおりであり、それに対する推奨される回答は「いいえ」です。

    デフォルトでは、トークンは30秒間有効であり、クライアントとサーバー間で発生する可能性のあるタイムスキューを補正するために、現在時刻の前後に追加のトークンを許可します。時間の同期に問題がある場合は、ウィンドウをデフォルトのサイズである1:30分から約4分に増やすことができます。そうしますか(y/n)n

  14. 最後の質問は以下のとおりであり、それに対する推奨される答えは「はい」です。

    ログインしているコンピューターが総当たりログイン試行に対して強化されていない場合、認証モジュールのレート制限を有効にできます。デフォルトでは、これにより、攻撃者は30秒ごとに3回までのログイン試行に制限されます。レート制限を有効にしますか(y/n)y

  15. 次に、このアカウントの終了を切り替えて、rootアカウントに戻ります。

    exit
    
  16. Sshサービスを再起動します

    service ssh restart
    

設定したユーザーのsshセッションを取得するだけで、最初に携帯電話から入力できる確認コードを要求し、次にユーザーパスワードを要求します。

enter image description here

それがすべて、2要素認証のセットアップに必要なものです。必要に応じて自由に答えを改善してください。あまり良くない言葉を許してください。

15
Hrish