Google Authenticatorの導入とそれをsshで使用する機能により、誰かがsshd_configセットアップを実行して、
- 最初に鍵を期待する
- これが失敗した場合は、Google Authenticatorによる認証にフォールバックします
通常は、キーとシームレスに接続し、通常は使いにくい環境では、2要素メカニズムで接続するという考えです。
Google Authenticatorの導入とそれをsshで使用する機能により、誰かがsshd_configセットアップを実行して、
通常は、キーとシームレスに接続し、通常は使いにくい環境では、2要素メカニズムで接続するという考えです。
回答:
はい、ssh
公開鍵認証を使用してサーバーにアクセスできるように設定しています。秘密鍵が使用できない場合は、Google認証システム+パスワードによる2要素認証にフォールバックします。これらは、それをセットアップするために使用できるステップです。
私のサーバーはUbuntu Bionic Beaver(18.04.1)を実行しています。Google Authenticatorは次の方法でインストールできますapt
。
$ sudo apt install libpam-google-authenticator
/etc/pam.d/sshd
次の行を開いて上部に追加します。
auth optional pam_google_authenticator.so
/etc/ssh/sshd_config
1行を開いて変更します。既存のラインは
ChallengeResponseAuthentication no
そしてあなたはそれを
ChallengeResponseAuthentication yes
次のステップは、アカウントに対してGoogle認証システムを有効にすることです。これを行うには、次のコマンドを実行します。
$ google-authenticator
root ではなく、ssh接続を行うユーザーとしてこれを実行してください。新しい秘密鍵と緊急スクラッチコードを書き留めます。ウィザードは、アカウントのセキュリティ設定を構成するためにいくつかの質問をします。
iPhone用のGoogle認証システムアプリを使用しています。このアプリには[+]ボタンがありgoogle-authenticator
、サーバー上のコマンドから取得した秘密鍵を使用して、新しい時間ベースのトークンを追加できます。セットアップは簡単でした。他のプラットフォームのアプリについてはお役に立てませんが、プロセスは同じくらい簡単だと思います。
あなたがする必要がある最後の事は再始動sshd
です。
$ sudo /etc/init.d/ssh restart
この時点で、秘密鍵が使用可能なときにサーバーに接続しようとすると、認証が機能します。秘密鍵を使用できない場合は、確認コードとアカウントパスワードの入力を求められます。