
我正在嘗試使用curl 透過 ftp 從 Ubuntu 伺服器連接到合作夥伴網站。命令由業務夥伴發出
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"