无法上传文件到远程FTP服务器
问题描述:
我有一个场景,我需要上传文件到远程FTP服务器。从中我试图上传该文件本机是一种AWS-VPC内和SOCKS服务器后面,我现在用以下命令这样做无法上传文件到远程FTP服务器
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 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
答
这通常发生当您尝试连接的服务器不喜欢协议或密码时。
-
尝试使用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
-
你可能会尝试连接到使用SSL密码,该网站被配置为reject.Try使用curl与
--ciphers ALL
选项的网站。另外,尝试检测一个OpenSSL的连接openssl s_client -connect ftp.box.com:990
openssl s_client -connect ftp.box.com:990 -ssl3
上述命令的结果也可以表明这是否与卷曲或不存在错误。您可以尝试将curl降级到7.33.0-3。
编辑1
我测试用openssl命令远程站点。看来SSL2/3不受支持。您需要使用密码DES-CBC3-SHA使用TLSv1。
试试这个
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 – agent420
所以我得到了同样的错误,我有一种感觉与https://curl.haxx.se/docs/knownbugs.html#FTPS_over_SOCKS –