Мне поручили установить новый SFTP-сервер. По сути, это очень простая операция: просто используя internal-sftp
роль повсеместной службы SSH (с chroot) достаточна, чтобы иметь надежный сервер SFTP.
Однако в моей природе всегда пробовать как минимум два разных подхода к одной и той же проблеме, и я понял, что могу использовать ProFTPD
с плагином sftp, чтобы сделать то же самое, с дополнительным преимуществом более детальных параметров, связанных с передачей файлов (например, регулирование полосы пропускания). С другой стороны, этот плагин не компилируется (и не входит в комплект) по умолчанию, и я бы хотел избежать (возможно) «менее проверенного» решения.
На данный момент единственная необходимая услуга - это SFTP; однако я играю заранее и хотел бы реализовать решение, которое может работать не только с SFTP, но и с FTP / S.
Учитывая, что я собираюсь заблокировать пользователей внутри их домов, что, по вашему мнению, является лучшим решением?
internal-sftp
и автономный FTP-сервер (vsftpd
или proftpd
) для служб FTP / SСервер SSH sftp предъявляет некоторые дополнительные требования к каталогам chroot, т.е. В некоторых средах пользователь не может иметь права записи в chroot-каталог, это может быть проблемой.
Если вам также нужны ftp / ftps, я бы посоветовал попробовать mod_sftp. Мы используем его в производстве примерно на 20 серверах с более чем 10 тыс. Учетных записей с почти нулевыми проблемами (sftp - наименее используемый протокол). Обратной стороной может быть то, что он не поддерживает метод аутентификации по паролю, но поддерживает ключ RSA и интерактивную клавиатуру, поэтому это проблема только для очень старых клиентов.
Это более старый поток, но я просто хотел бы добавить для будущих читателей, что мы годами настраивали серверы для использования proftpd с mod_sftp без каких-либо проблем. Мне очень нравится, что разделение служб дает точный контроль над безопасностью, самой службой и управлением пользователями.
Вы можете настроить proftpd для поддержки одного или обоих паролей / ключей с помощью mod_sftp, если вы также включите модуль sftp_pam. Вот пример конфигурации, которая включает оба:
# Include all available modules
Include /etc/proftpd/modules.conf
<Global>
<IfModule mod_sftp.c>
<IfModule mod_sftp_pam.c>
SFTPPAMEngine on
SFTPPAMServiceName sftp
</IfModule>
SFTPEngine on
SFTPLog /var/log/proftpd/sftp.log
# Configure both the host keys
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPAuthMethods publickey password keyboard-interactive
SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u
# Enable compression
SFTPCompression delayed
</IfModule>
</Global>