Различные "RequiredAuthentications2" для подсистем sshd и sftp
В настоящее время мы используем 2-факторную аутентификацию на наших SSH-серверах, поэтому в нашем sshd_config есть "RequiredAuthentications2 publickey, клавиатура-интерактив" (publickey для ключа, клавиатура-интерактив для 2factor, который обрабатывается через PAM)
Чтобы облегчить задачу нашим разработчикам, мы хотим отключить требование 2factor для подсистемы sftp.
Я уже искал что-то вроде "Match subsystem sftp" (например, доступную "Match Group", где я мог впоследствии определить только "RequiredAuthentications2 publickey"), но кажется, что это невозможно.
Еще одна вещь, которую я изучил, это проверить PAM, если есть возможность определить отдельную конфигурацию для подсистемы sftp (кажется, что это не выполнимо, служба для pam всегда 'ssh') или если у меня может быть что-то в мой sshd pam conf вроде "auth [success=1 default=ignore] pam_succeed_if.so тихая подсистема в sftp"
Есть намеки? (помимо настройки другого экземпляра sshd только для sftp с другими настройками)
1 ответ
Вместо того, чтобы пытаться ослабить безопасность с помощью правила группы, я бы использовал безопасность по умолчанию и ужесточил правила группы. Вот пример, который требует 2факторной аутентификации для 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