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


回答:


16

注:ユーザーの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
    

    それ以外の場合は、これをスキップしてステップ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. 以下のコマンドを使用して、このための2要素認証をセットアップしますtestuser1

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

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

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

    ここに画像の説明を入力してください

  8. 次に、Android / Apple / Blackberryの携帯電話を使用して、Google Playストアなどの各マーケットプレイスからGoogle Authenticator Application をダウンロードしてインストールする必要がありますログインするためのコードが生成されます。

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

    ここに画像の説明を入力してください ここに画像の説明を入力してください

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

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

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

    「/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セッションを取得するだけで、最初に携帯電話から入力できる確認コードを要求し、次にユーザーパスワードを要求します。

ここに画像の説明を入力してください

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


モジュールは不明である:須藤::PAM認証エラーは、私はそれをアンインストールすると、それは私が、sudoでコマンドを実行して、問題の毎回の葉
bagustris

@bagustrisファイル「/etc/pam.d/common-auth」を編集し、「auth required pam_google_authenticator.so」このエントリを削除します。アンインストールした後。
16年

/etc/pam.d/common-authを編集するには、sudoが必要です。sudoが動作しなくなったため、ライブOSが必要です(または、私の場合、Mac OSとデュアルブートするため、書き込み可能なアクセス許可セットを使用してOS Xから編集できます)。
バグストリス

1
@bagustris回復モードに入ることでできます。
16年

1
手順2でのauth optional代わりに使用する場合は、マシンへのアクセスを緩めない方が安全ですauth required。そうしないと、セッションがクラッシュしてプロセスが終了しない場合、ログインができなくなります。
パスカル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.