私は何年もlibpam-google-authenticatorを使用してきました。私はいつもpamでパスワード+ TOTPトークンをパスワードとして要求するように設定しました。パスワードを入力して「onlykey」ボタンを押し、TOTPトークンを入力してEnterを押します。痛くなく安全です。 SSHは明らかにRSAを使用していますが、他のすべてのログイン(X、物理端末、sudoなど)にはパスワード+トークンが必要です。これは以前のインストールで完全に機能しました。しかし、今は奇妙なことに失敗します。 githubでソースコードを見た後、時間オフセットを調整して再生を停止しようとしているコードの複数のインスタンスでホストがnullになることに関連している可能性があると思いました。
一度設定すると、すべてがうまくいくように見えましたが、時間の経過とともにTOTPトークンは毎回失敗しました。私は次のことをしました。
- サーバーの日付/時刻がpool.ntp.orgと一致するかどうかをリアルタイムで確認してください。
- oathtoolを使用してTOTPを手動で計算し、一意のキー出力を比較します(興味がある場合はoathtool -b --totp "SECRET")。
すべてのケースで時間が正確でTOTPが正しいことがわかりますが、Googleの認証者はそれが正しくないと言います。
他の人がこれを見たことがあるかどうかを調べるために、ここでこの質問を提起したいと思いました。ここで、次のアクションは、再起動によって変更が行われたことを確認することです。機能する場合は、どのサービスを再起動する必要があるかを確認する必要があります。
編集する:
再起動するのは痛くて怠惰なので、systemctlを実行して次のことを見つけました。
polkit.service loaded active running Authorization Manager
サービスを再起動しましたが、もう一度機能します。だから私たちには解決策があります。答えがありますか?