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

Разрешение аутентификации по Pubkey ИЛИ паролю для пользователей Chrooted

Я управляю устаревшей системой, к которой подключаются многочисленные клиенты, чтобы использовать большие файлы научных данных. В настоящее время эти пользователи подключаются через SFTP, и из-за огромного разнообразия уровней опыта и вариантов использования аутентификация по паролю была самым простым способом работы со всеми из них. Многие из них просто продавцы, подключающиеся из Windows и использующие что-то вроде FileZilla, и это вызовет огромную нагрузку на поддержку.

Новый клиент настоял (обоснованно) на аутентификации с открытым ключом SSH. Как мне лучше всего предоставить эту возможность моему новому клиенту, не нарушая стратегии аутентификации, которые используют мои другие 100+ клиентов?

Мой текущий sshd_config выглядит так:

Match group sftpusers
        ChrootDirectory /sftp/%u
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp -l VERBOSE -f LOCAL6

Очевидно, мне пришлось добавить предыдущую строку «PasswordAuthentication yes» дальше по файлу.

Сервер настроен так, чтобы разрешать пользователям только входы по протоколу SFTP, и все конечные пользователи являются членами этой группы «sftpusers».

Последующий глупый вопрос: где бы я даже поместил SSH-ключ для пользователя без домашней папки?

Где бы я вообще поместил SSH-ключ для пользователя без домашней папки?

Есть вариант AuthorizedKeysFile, определяющий место хранения авторизованных ключей. По умолчанию это домашний каталог, но это не обязательно. Довольно распространена и такая конфигурация:

AuthorizedKeysFile    /etc/ssh/%u/authorized_keys