блого-заметки об администрировании и программировании (python, ruby, php). Траблшутинг в «примерах» и HOWTO.

😎 О себе | 📚 Литература и ресурсы | ⚡ Все посты | 📮 E-mail

ISPmanager v5 Lite проблема с подключением по  FTP Handshake failed (40)

ISPmanager v5 Lite проблема с подключением по  FTP Handshake failed (40)
После долгого запоя перерыва, возобновляю публикацию заметок. В черновиках скопилась куча всего, но лень было аккуратно все разобрать и структурировать, но надо! Один из клиентов после установки ISPmanager v5 Lite на CentOS 6 64 bit  столкнулся со следующей проблемой при подключении к  FTP- серверу В FileZilla красовались следующие ошибки

Статус:    Соединение установлено, ожидание приглашения...
Статус:    Инициализирую TLS...
Ошибка:    От сервера получено TLS оповещение: Handshake failed (40)
Ошибка:    Невозможно подключиться к серверу
Статус:    Ожидание повтора...

В качестве FTP- сервера по дефолту был proftpd. В его логе были найдены признаки преступления:

tailf /var/log/proftpd/tls.log 

Oct 27 12:40:30 mod_tls/2.4.2[25607]: using default OpenSSL verification locations (see $SSL_CERT_DIR environment variable)
Oct 27 12:40:30 mod_tls/2.4.2[25607]: TLS/TLS-C requested, starting TLS handshake
Oct 27 12:40:30 mod_tls/2.4.2[25607]: unable to accept TLS connection: protocol error: 
 (1) error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher
Oct 27 12:40:30 mod_tls/2.4.2[25607]: TLS/TLS-C negotiation failed on control channel
Oct 27 12:40:35 mod_tls/2.4.2[25608]: using default OpenSSL verification locations (see $SSL_CERT_DIR environment variable)
Oct 27 12:40:35 mod_tls/2.4.2[25608]: TLS/TLS-C requested, starting TLS handshake
Oct 27 12:40:35 mod_tls/2.4.2[25608]: unable to accept TLS connection: protocol error: 
 (1) error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher
Oct 27 12:40:35 mod_tls/2.4.2[25608]: TLS/TLS-C negotiation failed on control channel

Решение было найдено на оф.форуме 
1. Генерируем сертификат для TLS шифрования. Если используем кошерный сертификат (к примеру Let's Encrypt вполне подойдет), то данный пункт пропускаем.

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem -days 1825


2. В конфиге - /etc/proftpd.conf раскомментируем строки:

TLSEngine                   on
#TLSRequired                on
TLSRSACertificateFile       /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile    /etc/pki/tls/certs/proftpd.pem
TLSCipherSuite              ALL:!ADH:!DES
TLSOptions                  NoCertRequest
TLSVerifyClient             off
TLSLog                      /var/log/proftpd/tls.log


Примечание: Если вы указали опцию TLSRequired on, то для подключения к FTP возможен только доступ с использованием TLS (другие пользователи с старыми FTP клиентами не поддерживающими TLS подключиться не смогут); но закомментировав эту опцию или установим значение в TLSRequired off к FTP можно будет подключаться и используя TLS и обычным способом. 3. Далее перезапускаем proftpd и радуемся жизни

service proftpd restart

Также, в теории эту проблему можно обойти создав в FileZilla обычное подключение без шифрования

UPD от 9 апреля 2018:

Можно вообще отключить TLS закомментировав строку

TLSEngine                   on

Поделиться
Отправить
Популярное