
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
質問に記載されている次のメッセージが表示され、このホスト名の IP アドレスが不明であるため、「domainname.crt」に到達できないというエラーが表示されます。
* 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"