因此,我拥有了一个小巧的yubikey,并且我想在验证ssh会话时添加一个额外的安全层。在服务器端,我已经禁用了密码身份验证,并且仅允许登录时使用ssh密钥。
问题是,在为yubikey auth配置sshd和PAM之后,sshd仍然只需要一个ssh密钥,而我从未被要求提供yubikey的响应。
如何同时要求ssh key 和 yubikey?
(ubuntu 14.04 - trusty)
/etc/pam.d/common-auth
:
auth required pam_yubico.so mode=client try_first_pass id=<id> key=<secret>
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
# end of pam-auth-update config
/etc/ssh/sshd_config
:
...
PasswordAuthentication no
ChallengeResponseAuthentication yes
UsePAM yes
顺便说一句,如果您在几天内没有得到满意的答复,请ping我,我将对这个问题给予健康的悬赏。我有专人负责,而且对此答案也很感兴趣。:)
—
EEAA 2015年