Назад | Перейти на главную страницу

SSHD, применяющий разные правила PAM для подключений localhost

Я пытаюсь реализовать аутентификацию Yubikey через SSH. Я отредактировал свой файл /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

Однако, когда я пытаюсь подключиться с удаленного компьютера, он не запрашивает мой ключ. В чем вероятная проблема?

Общая логика заключается в том, что программа с поддержкой PAM, обрабатывающая логины оболочки, попадет в auth, account, и session стекы последовательно, но программа может просто пропустить любой из них, если она обрабатывает одну или несколько из этих функций в своих собственных реализациях.

sshd поддерживает несколько режимов аутентификации, которые нельзя делегировать PAM, поскольку они полагаются на методы, которые не входят в сферу действия согласования пароля или запроса-ответа. Обычно это ключи или тикеты: ключи ssh, GSSAPI / krb5 и т. Д.