回答:
注:ユーザーの2要素認証をアクティブにし、rootに対して同じ設定をしないと、rootとして直接ログインすることはできなくなります。このような場合、回避策は、セットアップされている他のsudoユーザーを使用sudo su -
してから、rootユーザーに切り替えることです。
以下の手順を使用して設定します。
以下のパッケージをインストールして、PAM認証のアドオンとして使用するGoogle認証システムをインストールします。
sudo apt-get install libpam-google-authenticator
次に、/etc/pam.d/sshd
このファイルを編集し、次のようにGoogle認証システムを追加します。
*sudo vim /etc/pam.d/sshd
このファイルの上部に以下を入力してください-
auth required pam_google_authenticator.so
ここで/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
、ファイルを保存します。
次に、設定するアカウントに変更します。
(注:ルートアカウント以外のシステム上に少なくとも2つのスーパーユーザーアカウントを作成し、少なくとも1つをルートアカウントではなく最初に構成することをお勧めします。)
sudo su - testuser1
以下のコマンドを使用して、このための2要素認証をセットアップしますtestuser1
。
google-authenticator
このコマンドを実行すると、以下の質問が表示されます。(推奨される答えは「はい」です)
認証トークンを時間ベース(y / n)にしたいですかy
その後、QRコードと緊急スクラッチコードおよびその他の詳細が表示されます。出力は、次の画像のようになります。
次に、Android / Apple / Blackberryの携帯電話を使用して、Google Playストアなどの各マーケットプレイスからGoogle Authenticator Application をダウンロードしてインストールする必要があります。ログインするためのコードが生成されます。
以下は、AndroidアイコンのアプリケーションアイコンとアプリケーションAndroidスマートフォンから取得したアプリケーションのスクリーンショットです。
携帯電話でアプリケーションを起動し、QRコードをスキャンするか、システムのQRコードの下にある秘密キーと確認コードを使用します。これは上記の最初のスクリーンショットでも確認できます。
これがすべて完了したら、緊急スクラッチコードを書き留めて安全な場所に保存することが非常に重要です。これらは何らかの方法でロックアウトされた場合に役立つコードであるためです。
この時点で、以下の質問をしている画面の下部を見てください。(推奨される答えは「はい」です):
「/home/testuser1/.google_authenticator」ファイルを更新しますか(y / n)y
もう一度質問がありますが、以下の質問に対する推奨される回答も「はい」です。
同じ認証トークンの複数の使用を禁止しますか?これにより、30秒ごとに1回のログインに制限されますが、man-in-the-middle攻撃(y / n)y
次の質問は以下のとおりであり、推奨される回答はいいえです。
デフォルトでは、トークンは30秒間有効であり、クライアントとサーバー間で発生する可能性のあるタイムスキューを補正するために、現在時刻の前後に追加のトークンを許可します。時間の同期に問題がある場合は、ウィンドウをデフォルトのサイズである1:30分から約4分に増やすことができます。そうしますか(y / n)n
最後の質問は以下のとおりであり、それに対する推奨される回答は「はい」です。
ログインしているコンピューターが総当たりログイン試行に対して強化されていない場合は、認証モジュールのレート制限を有効にできます。デフォルトでは、これにより、攻撃者は30秒ごとに3回までのログイン試行に制限されます。レート制限を有効にしますか(y / n)y
次に、このアカウントの終了を切り替えて、rootアカウントに戻ります。
exit
sshサービスを再起動します
service ssh restart
設定したユーザーのsshセッションを取得するだけで、最初に携帯電話から入力できる確認コードを要求し、次にユーザーパスワードを要求します。
それがすべて、2要素認証をセットアップするために必要なものです。必要に応じて答えを自由に改善してください。あまり良くない言葉を許してください。
auth optional
代わりに使用する場合は、マシンへのアクセスを緩めない方が安全ですauth required
。そうしないと、セッションがクラッシュしてプロセスが終了しない場合、ログインができなくなります。