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