
Я пытаюсь подключиться к сайту партнера с сервера Ubuntu через ftp с помощью curl. Команда дана бизнес-партнером
curl -v -kG --ftp-method nocwd --ftp-ssl -cert "domainname.crt" --key "domainname.key" -u user:password ftp://ftp.partner.biz/
Я получаю следующую ошибку.
* Could not resolve host: domainname.crt
* Closing connection 0
curl: (6) Could not resolve host: domainname.crt
* Trying <ipaddr>:21...
* TCP_NODELAY set
* Connected to ftp.partner.biz (<ipaddr>) port 21 (#1)
< 220 (<partnername>)
> AUTH SSL
< 504 unknown security mechanism
> AUTH TLS
< 234 AUTH TLS OK starting TLS negotiation
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS alert, handshake failure (552):
* error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
* Closing connection 1
Я вижу, что порты 22 и 443 прослушиваются на моем сервере.
tcp6 0 0 :::22 :::* LISTEN 1570/sshd: /usr/sbi
tcp6 0 0 :::443 :::* LISTEN 5802/apache2
Партнер говорит, что на его стороне нет журнала ошибок. Это как-то связано с tcp6 или чем-то еще. Я не могу изменить формат команды, так как партнер говорит, что это работает с другими его клиентами. Я беспомощен. Может кто-нибудь подсказать мне, в чем проблема?
решение1
curl
жалуется, что не может получить доступ к «domainname.crt», поскольку не знает IP-адрес этого имени хоста, выдавая следующее сообщение, упомянутое в вашем вопросе.
* Could not resolve host: domainname.crt
* Closing connection 0
curl: (6) Could not resolve host: domainname.crt
Вероятно, вы не собираетесь подключаться к какому-то сайту с именем "domainname.crt"; скорее всего, это имя вашего файла сертификата, хранящегося где-то на клиентской машине. Пожалуйста, проверьте еще раз вашу curl
команду. Вместо вашей оригинальной команды должно быть
curl -v -kG --ftp-method nocwd --ftp-ssl --cert "domainname.crt" --key "domainname.key" -u user:password ftp://ftp.partner.biz/
Полагаю, вы пропустили дефис в --cert
аргументе.
решение2
У вас небольшая ошибка в команде. Текст:
-cert "domainname.crt"
должно быть
--cert "domainname.crt"