Безопасность прежде всего!!! Поэтому поехали…
По умолчанию модуль mod_sftp уже подключен
проверим в modules.conf строка LoadModule mod_sftp.c
Если нет openssl ставим (на 99% уже есть, куда в наше время без него)
apt-get install proftpd openssl
Файл с настроичками
/etc/proftpd/proftpd.conf
Желательно, что бы было так:
UseIPv6 off
DefaultRoot ~
IdentLookups off
ServerIdent on «My SFTP server»
При желании и для доп. безопасаности можно поменять порт Port 123
Рожаем SSL сертификат
openssl req -x509 -newkey rsa:1024 \
-keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt \
-nodes -days 365
Отвечаем на глупые вопросы, своими умными ответами.
Сертификат должен быть читабельным:
chmod 0640 /etc/ssl/private/proftpd.key
В конфиге раскомментируем строку:
Include /etc/proftpd/tls.conf
Далее редактируем этот конфиг, там уже есть заготовочка.
В итоге должно выйти как-то так
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest EnableDiags
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSVerifyClient off
TLSRequired on
</IfModule>
Или не совсем так
TLSVerifyClient off не дает заходить под FTP, включаем, если хотим и так и эдак.
ВНИМАНИЕ: файлы конфига чувствительны к виндовой кодировке (за другими конфигами такой ерунды не замечал), при restart ругается warning: handling possibly truncated configuration data at line …, либо потом перекодируем под линукс, либо редактируем непосредственно на сервере чем-то в духе nano или vi и др.(пожалуй совет для ламеров, но все же, мало ли кому пригодится)
Что бы не было ошибки «Не могу получить список каталогов! (Failed to retrieve directory listing)» …
открываем порты (если есть firewall) 49152:65534 а на нет и суда нет
И раскомментируем в конфиге соответствующую строку
PassivePorts 49152 65534
Перезагружаем ProFTPD
/etc/init.d/proftpd restart
И firewall… у кого, что…
И последний момент, при подключении не забываем, что у нас теперь не FTP, а FTP через TLS
Т.е. при подключении, например, в FileZilla в пунктике шифрование выбираем Requir explicit FTP over TLS
Наслаждаемся защищенным соединением.
Удачи!