パスフレーズ付きのSSH、Google認証システムへのフォールバック


8

Google Authenticatorの導入とそれをsshで使用する機能により、誰かがsshd_configセットアップを実行して、

  • 最初に鍵を期待する
  • これが失敗した場合は、Google Authenticatorによる認証にフォールバックします

通常は、キーとシームレスに接続し、通常は使いにくい環境では、2要素メカニズムで接続するという考えです。

回答:


16

はい、ssh公開鍵認証を使用してサーバーにアクセスできるように設定しています。秘密鍵が使用できない場合は、Google認証システム+パスワードによる2要素認証にフォールバックします。これらは、それをセットアップするために使用できるステップです。

Google認証システムのインストール

私のサーバーはUbuntu Bionic Beaver(18.04.1)を実行しています。Google Authenticatorは次の方法でインストールできますapt

$ sudo apt install libpam-google-authenticator

sshdの構成

/etc/pam.d/sshd次の行を開いて上部に追加します。

auth optional pam_google_authenticator.so

/etc/ssh/sshd_config1行を開いて変更します。既存のラインは

ChallengeResponseAuthentication no

そしてあなたはそれを

ChallengeResponseAuthentication yes

アカウントのGoogle認証システムの構成

次のステップは、アカウントに対してGoogle認証システムを有効にすることです。これを行うには、次のコマンドを実行します。

$ google-authenticator

root ではなく、ssh接続を行うユーザーとしてこれを実行してください。新しい秘密鍵と緊急スクラッチコードを書き留めます。ウィザードは、アカウントのセキュリティ設定を構成するためにいくつかの質問をします。

モバイルアプリの構成

iPhone用のGoogle認証システムアプリを使用しています。このアプリには[+]ボタンがありgoogle-authenticator、サーバー上のコマンドから取得した秘密鍵を使用して、新しい時間ベースのトークンを追加できます。セットアップは簡単でした。他のプラットフォームのアプリについてはお役に立てませんが、プロセスは同じくらい簡単だと思います。

トリガーを引く

あなたがする必要がある最後の事は再始動sshdです。

$ sudo /etc/init.d/ssh restart

この時点で、秘密鍵が使用可能なときにサーバーに接続しようとすると、認証が機能します。秘密鍵を使用できない場合は、確認コードとアカウントパスワードの入力を求められます。

ビンゴ、2要素認証。


どうもありがとうございました。これは非常に完全で、まさに私が探していたものです。
WoJ

私が必要としているものと全く同じに見えます。urの指示に従い、後でフィードバックします。
peipst9lker 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.