【问题标题】:Unable to upload a file to a remote ftps server无法将文件上传到远程 ftps 服务器
【发布时间】:2017-05-06 22:28:40
【问题描述】:

我有一个场景,我需要将文件上传到远程 FTP 服务器。我尝试上传此文件的机器位于 AWS-VPC 内部和 SOCKS 服务器后面,现在我正在使用以下命令来这样做

 curl --connect-timeout 90 -T nishant.txt  ftps://ftp.box.com/RANDOM_FOLDER/nishants.txt --user "username:password" -x socks://internal-proxy-elb-7288384.eu-central-1.elb.amazonaws.com:1080 -v

现在当我运行它时,它建立了连接并将文件也发送到远程 FTP 服务器,但上传到远程服务器的文件是

我通过运行上述文件收到的错误是:

> STOR nishants.txt
< 150 File status okay; about to open data connection.
* Doing the SSL/TLS handshake on the data stream
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSL re-using session ID
* SSLv3, TLS handshake, Client hello (1):
} [data not shown]
* SSLv3, TLS alert, Client hello (1):
{ [data not shown]
* Unknown SSL protocol error in connection to ftp.box.com:990
  0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0
* Closing connection 0
* SSLv3, TLS alert, Client hello (1):
} [data not shown]
curl: (35) Unknown SSL protocol error in connection to ftp.box.com:990

我正在运行以下 curl 版本:

curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3

OpenSSL 版本:

OpenSSL 1.0.1f 6 Jan 2014

【问题讨论】:

    标签: ssl curl ftp


    【解决方案1】:

    这通常发生在您尝试连接的服务器不喜欢协议或密码时。

    1. 尝试使用 sslv2

      curl --sslv2 --connect-timeout 90 -T nishant.txt ftps://ftp.box.com/RANDOM_FOLDER/nishants.txt --user "username:password" -x socks://internal-proxy -elb-7288384.eu-central-1.elb.amazonaws.com:1080 -v
    2. 您可能正在尝试使用站点配置为拒绝的 ssl 密码连接到站点。尝试使用带有 --ciphers ALL 选项的 curl。另外,尝试测试一个 openssl 连接

      openssl s_client -connect ftp.box.com:990
      openssl s_client -connect ftp.box.com:990 -ssl3
    3. 上述命令的结果也可能表明这是否是 curl 的错误。您可以尝试将 curl 降级到 7.33.0-3。

    编辑 1

    我使用 openssl 命令测试了远程站点。似乎不支持 SSL2/3。您需要将 TLSv1 与密码 DES-CBC3-SHA 一起使用。

    试试这个

    curl -1 --connect-timeout 90 -T nishant.txt ftps://ftp.box.com/RANDOM_FOLDER/nishants.txt --user "username:password" -x socks://internal-proxy- elb-7288384.eu-central-1.elb.amazonaws.com:1080 -v

    如果您收到相同的错误,请尝试使用--ciphers 选项指定上述密码。

    【讨论】:

    • 当我尝试选项 1 时,它说 * OpenSSL 是在不支持 SSLv2 的情况下构建的 * 并且当我尝试选项 2 时,它只是退出
    • 编辑了答案。看来服务器使用 TLSv1
    • 所以我得到了同样的错误,我对curl.haxx.se/docs/knownbugs.html#FTPS_over_SOCKS有感觉
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    相关资源
    最近更新 更多