
SSH経由でYubikey認証を実装しようとしています。/etc/pam.d/sshdファイルを次のように編集しましたが、うまく機能しているようです。ローカル接続中(ssh user@localhost
):
#%PAM-1.0
auth required pam_yubico.so id=20682 authfile=/etc/yubikey_mappings debug trace
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
しかし、リモート マシンから接続しようとすると、キーの入力を求められません。考えられる問題は何でしょうか?
答え1
一般的なロジックとしては、シェル ログインを処理する PAM 対応プログラムは、、、および スタックを順番にヒットしますauth
がaccount
、session
プログラムは独自の実装でこれらの関数の 1 つ以上を処理する場合は、これらのいずれかを単にスキップできます。
sshd
パスワードやチャレンジレスポンスネゴシエーションの範囲外の方法に依存しているため、PAM に委任できない認証モードをいくつかサポートしています。これらは通常、キーまたはチケットベースです: ssh キー、GSSAPI/krb5 など。