Я управляю устаревшей системой, к которой подключаются многочисленные клиенты, чтобы использовать большие файлы научных данных. В настоящее время эти пользователи подключаются через 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