curl (56), когда TLS включен
У меня есть 2 клиента, которые я использую для получения файлов с 2 разных серверов, используя curl
,
Команда, которую я использую, такова (IP-адреса различаются между серверами):
curl -s -S --stderr err_log -k --user U:1 -o pkg.tgz --cert cert.pem --key pkey.pem ftps://10.10.10.10:21/file.tgz
С 1-го сервера я получаю файлы, но с 2-го я всегда терплю неудачу с:
curl: (56) OpenSSL SSL_read: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number, errno 0
Я проверил vsftpd.conf
на обоих серверах (и перезапустил vsftpd
сервис, на всякий случай) и есть несколько отличий:
listen_port=21:
Рабочий сервер (WS) имеет линиюlisten_port=21
где неработающий сервер (NWS) - нет. Я исправил это (удалено из WS) и все еще заставил его работать...rsa_cert_file:
: имя файла другое, но это ни на что не должно влиятьca_certs_file:
: имя файла тоже другое, но это ни на что не должно влиять
Также пытался играть с --tlsv1, --sslv2, --sslv3
без успеха.
Я видел несколько постов, но ничего особо полезного.
Это NWS (не работающий сервер) vsftpd.conf (по крайней мере, часть SSL):
# SSL configuration
ssl_enable=YES
allow_anon_ssl=NO
force_anon_data_ssl=YES
force_anon_logins_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/***
rsa_private_key_file=/etc/ssl/private/***
require_ssl_reuse=NO
ssl_ciphers=HIGH
require_cert=YES
validate_cert=YES
ca_certs_file=/etc/ssl/private/***
implicit_ssl=YES
pasv_enable=YES
pasv_min_port=21000
pasv_max_port=21010
debug_ssl=YES
dual_log_enable=YES