I ' Мне было поручено установить новый SFTP-сервер. По сути, это очень простая операция: простого использования роли internal-sftp
повсеместной службы SSH (с chroot) достаточно для создания надежного сервера SFTP.
Однако это в моей природе. чтобы всегда пробовать хотя бы два разных подхода к одной и той же проблеме, и я понял, что могу использовать ProFTPD
с плагином sftp, чтобы сделать то же самое, но с дополнительным преимуществом более детальных параметров, связанных с передачей файлов (например: регулирование пропускной способности). С другой стороны, этот плагин не компилируется (и не входит в комплект) по умолчанию, и я бы хотел избежать (возможно) «менее проверенного» решения.
На данный момент единственной необходимой службой является SFTP; однако я играю заранее и хотел бы реализовать решение, которое может работать не только с SFTP, но и с FTP / S.
Учитывая, что я собираюсь заблокировать пользователей в их домах, какое решение, по вашему мнению, лучше?
internal-sftp
и автономный FTP-сервер ( vsftpd
] или proftpd
) для служб FTP / S sftp-сервер SSH имеет некоторые дополнительные требования к chroot-директориям, Т.е. пользователь не может иметь доступ на запись в chroot dir в некоторых средах, это может быть проблемой.
Если вам также нужен ftp/ftps, я бы посоветовал дать команду mod_sftp. Мы используем его в производстве примерно на 20 серверах с более чем 10k учетными записями с почти нулевыми проблемами (sftp - наименее используемый протокол). Недостатки может быть, он не поддерживает метод аутентификации пароля, но поддерживает rsa-ключ и keyboard-interactive, так что это проблема только для очень старых клиентов
.Это старый поток, но я просто хотел бы добавить для будущих читателей, что мы годами настраивали серверы для использования 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>