
我正在嘗試透過 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
一般邏輯是,處理 shell 登入的啟用 PAM 的程式將依序命中auth
、account
和session
堆疊,但如果程式使用自己的實作處理一個或多個這些函數,則可以簡單地跳過其中任何一個。
sshd
支援一些無法委託給 PAM 的身份驗證模式,因為它們依賴不屬於密碼或質詢回應協商範圍的方法。這些通常是基於密鑰或票證的:ssh 密鑰、GSSAPI/krb5 等。