
В настоящее время мы используем двухфакторную аутентификацию на наших серверах SSH, поэтому в нашем sshd_config есть «RequiredAuthentications2 publickey,keyboard-interactive» (publickey для ключа, keyboard-interactive — для двухфакторной аутентификации, которая обрабатывается через PAM).
Чтобы облегчить задачу нашим разработчикам, мы хотим отключить требование двухфакторной аутентификации для подсистемы SFTP.
Я уже искал что-то вроде «Match subsystem sftp» (вроде доступной «Match Group», где я мог бы впоследствии определить только «RequiredAuthentications2 publickey»), но, похоже, это невозможно.
Еще я хотел проверить PAM, есть ли возможность определить отдельную конфигурацию для подсистемы sftp (судя по всему, это невозможно, служба для pam всегда «ssh») или можно ли добавить в конфигурацию pam sshd что-то вроде «auth [success=1 default=ignore] pam_succeed_if.so quiet subsystem in sftp»
Есть какие-нибудь подсказки? (кроме настройки другого экземпляра sshd только для sftp с другими настройками)
решение1
Вместо того, чтобы пытаться ослабить безопасность с помощью группового правила, я бы использовал безопасность по умолчанию и ужесточил ее с помощью групповых правил. Вот пример, который требует двухфакторной аутентификации для users
, но не sftp-users
.
# Only these groups can connect
AllowGroups users sftp-users
Match Group users
RequiredAuthenticatios2 publickey,keyboard-interactive
Match Group sftp-users
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
Я успешно прототипировал это в системе Ubuntu, моя страница руководства sshd_config указана AuthenticationMethods
вместо RequiredAuthenticatios1
и RequiredAuthenticatios2
в странице руководства системы CentOS. Эквивалентная строка была
AuthenticationMethods publickey,password