
컬을 사용하여 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"