i3ウィンドウマネージャを実行しており、システムに2段階認証プロセスがあります。 i3とi3lockは、2段階認証プロセスの追加プロンプトをサポートせず、私が入力したパスワードを確認コードにパイプするようです。
pam設定を変更し、2段階認証(i3lockの場合)を無効にする以外は明らかに機能しません。 i3lockに対しても2段階認証を活用するより良い方法はありますか?
ベストアンサー1
i3lockはPAMをサポートします。つまり、ユーザー入力の視覚信号をサポートしていない可能性がありますが、2FAをサポートしていることを意味します。ほとんどのYubico製品は、さまざまなタイプの2FAを提供しています。バラよりここ例えば。
ログインのための最も一般的な2FA方法は、U2Fと試行応答(OTP)です。 i3lockは両方で動作します。
さまざまな2FAメソッドを使用するには、ユーザーがログインするときにさまざまな手順を実行する必要があります。
- U2Fでは、ユーザーはUSBフラッシュメッセージが表示されたらUSBの物理ボタンを押す必要があります。
- Challenge-Response (OTP) Yubikeyをコンピュータに接続するだけです。 (これはWindowsとMacでデフォルトのログイン2FAが機能する方法です。)
i3lock用Yubikey U2Fの設定
- pamモジュール(たとえば
pam_u2f.so
)をビルドし、正しい場所(たとえば/lib/security
)に配置します。ユバイをお持ちの方はフォローしてください。ユビコガイド。 /etc/pam.d/i3lock
まだ存在しない場合は作成してください。これはデフォルトファイルであり、パスワードのみが必要です。
#
# PAM configuration file for the i3lock screen locker. By default, it includes
# the 'login' configuration file (see /etc/pam.d/login)
#
auth include login
最初のオプション(パスワードの置き換え)は単一要素認証ですが、Yubikeyを認証するための次のオプションがあります。
オプション1:パスワード代替機能を備えたYubikey
次の行を追加今後ワイヤーauth include login
。
auth sufficient pam_u2f.so nouserok cue
Enterキーを押すとコンピュータのロックが解除され、i3lockでPAM認証が実行され(「確認」するとメッセージが停止します)、Yubikeyを押すと点滅します。
Yubikeyを接続せずに正しいパスワードを入力してコンピュータのロックを解除することもできます。接続すると、モジュールはyubikeyが失敗するのを待ちます。これを行うには、プラグを抜くかタイムアウトするまで待つ必要があります(コンピュータにアクセスするのは面倒です!)。
オプション2:Yubikeyとパスワードが必要
次の行を追加後ろにワイヤーauth include login
。
auth required pam_u2f.so nouserok cue
正しいパスワードを入力した場合は、Enterキーを押してからYubikey(点滅)を押して必要な2番目の要素を入力すると、コンピュータのロックが解除されます。
i3lockのためのYubikeyチャレンジ - 応答設定
- pam モジュールをビルドします。バラよりユビコガイドステップ2と4。
/etc/pam.d/i3lock
まだ存在しない場合は作成してください。 (U2F 2段階参照)
オプション1:パスワード代替機能を備えたYubikey
次の行を追加今後ワイヤーauth include login
。
auth sufficient pam_yubico.so mode=challenge-response
ユーザーがロック画面でEnterキーを押すとPAMが起動し、Yubikeyが接続されているとコンピュータがロック解除されます。
U2Fのオプション1と同様に、正しいパスワードを入力すると、yubikeyを接続せずにコンピュータのロックを解除できます。
オプション2:Yubikeyとパスワードが必要
次の行を追加後ろにワイヤーauth include login
。
auth required pam_yubico.so mode=challenge-response
これにはyubikeyを接続し、正しいパスワードが必要です。
デバッグ
ロックされている場合は、仮想端末(TTY)にログインしてください。ctrl++キーの組み合わせを使用してaltそれらの1つを見つけることができますf2。その後、kill i3lockを使用するか、killall i3lock
出力を見て、問題が何であるかを詳しく知ることができますjournalctl -x
。