SSHD認証にはyubikey AND(公開鍵またはパスワード)が必要です。

SSHD認証にはyubikey AND(公開鍵またはパスワード)が必要です。

DebianベースのシステムでOpenSSHを設定しようとしています。いつも一つ必要ユビカイタワーそして誰でも公開鍵またはパスワード

私は他の組み合わせを得ることができることを知っていますが、AuthenticationMethodsこの方法を使用するとこの組み合わせは不可能です。

もし password はいPAMとは別に、sshd_config次のようになります。

UsePAM yes
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive password,keyboard-interactive

/etc/pam.d/sshdSSHDがこれを使用するには、Yubico PAMを含める必要があります。

auth required pam_yubico.so id=foo key=bar

上記の例では、パスワードの確認のために目的の組み合わせを取得できません。そしてpam.d/sshdyubico-authは、同じインタフェース(または)を使用してpassword同じファイル()で定義された同じメカニズム(PAM)を使用して実行されます。keyboard-interactive唯一の違いは、後者がチャレンジレスポンスを介して複数のユーザー入力を処理できることです。

たとえば、publickey,keyboard-interactive結果はpublickey + yubikey +パスワード、結果はyubikey +パスワード+ yubikey +パスワードですが、単一のpassword,keyboard-interactive入力制限のためにこれを満たすことはできません。password無効にcommon-authすると、pam.d/sshd最初の組み合わせは満たされますが、2番目の組み合わせは不可能になります。

問題の鍵は、OpenSSHがAuthenticationMethodsPAM要件を互いに分離できず、PAMがSSH公開鍵認証(「公開鍵またはパスワード」条件をPAMで定義し、sshdでのみ使用可能keyboard-interactive)を理解できないことです。

OpenSSHとpam_yubico.soを使用してこれを達成する別の方法はありますか?

または、内部的にパターンを区別できる場合は、passwordそれぞれを除外するために使用できます。keyboard-interactivepam.d/sshdpam_succeed_if.sopam_yubico.socommon-auth

ベストアンサー1

おすすめ記事