Curl-FTP-Fehler: Host konnte nicht aufgelöst werden

Curl-FTP-Fehler: Host konnte nicht aufgelöst werden

Ich versuche, mich von einem Ubuntu-Server aus per FTP mit curl mit einer Partner-Site zu verbinden. Der Befehl wird vom Geschäftspartner gegeben

curl -v -kG --ftp-method nocwd --ftp-ssl -cert "domainname.crt" --key "domainname.key" -u user:password ftp://ftp.partner.biz/

Ich erhalte folgenden Fehler.

* 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

Ich sehe, dass Port 22 und 443 auf meinem Server lauschen

tcp6       0      0 :::22                   :::*                    LISTEN      1570/sshd: /usr/sbi
tcp6       0      0 :::443                  :::*                    LISTEN      5802/apache2 

Der Partner sagt, dass auf seiner Seite kein Fehlerprotokoll vorhanden ist. Hat das etwas mit TCP6 oder etwas anderem zu tun? Ich kann das Befehlsformat nicht ändern, da der Partner sagt, dass es bei seinen anderen Kunden funktioniert. Ich bin hilflos. Kann mir bitte jemand sagen, was falsch ist?

Antwort1

curlbeschwert sich, dass es „domainname.crt“ nicht erreichen kann, weil es die IP-Adresse dieses Hostnamens nicht kennt, und gibt die folgende, in Ihrer Frage erwähnte Meldung aus.

* Could not resolve host: domainname.crt
* Closing connection 0
curl: (6) Could not resolve host: domainname.crt

Vermutlich möchten Sie keine Verbindung zu einer Site mit dem Namen "domainname.crt" herstellen. Dies ist höchstwahrscheinlich der Name Ihrer Zertifikatsdatei, die irgendwo auf Ihrem Client-Computer gespeichert ist. Bitte überprüfen Sie Ihren curlBefehl noch einmal. Anstelle Ihres ursprünglichen Befehls sollte er lauten:

curl -v -kG --ftp-method nocwd --ftp-ssl --cert "domainname.crt" --key "domainname.key" -u user:password ftp://ftp.partner.biz/

Ich schätze, Sie haben im --certArgument einen Bindestrich übersehen.

Antwort2

Sie haben einen kleinen Fehler im Befehl. Der Text:

-cert "domainname.crt"

muss sein

--cert "domainname.crt"

verwandte Informationen