在Linux上添加对用于卷曲的SCP和SFTP的支持

时间:2014-08-22 16:51:11

标签: linux curl sftp scp

我一直在拼命试图在我的CentOS盒子上添加SFTP和SCP支持Curl。我在这里找到了类似解决方案的东西:

http://andrewberls.com/blog/post/adding-sftp-support-to-curl

我按照这些步骤进行了操作,但发现在尝试通过SCP和SFTP获取文件时,一旦找到文件,连接就会挂起。我无法解决这个问题,也无法找到替代解决方案。

我必须在工作中使用Curl,因此不能使用其他lib。有没有人设法在Curl上成功添加对SCP和SFTP的支持?我有一个测试服务器设置和其他协议,如FTP按预期工作。

非常感谢任何帮助!

提前致谢, 彼得

1 个答案:

答案 0 :(得分:5)

虽然Curl 支持SFTP,但支持不会自动包含在默认包中。

本网站:http://andrewberls.com/blog/post/adding-sftp-support-to-curl提供了有助于我添加SFTP所需支持的详细信息。由于该网站不能100%为我工作,我已经概述了下面采取的不同步骤。

手动下载libssh2对我没用,所以我用yum来安装这两个包:

yum install libssh2 libssh2-devel

然后按照第二步配置Curl以使用上面的库

进行安装

最后一步是重启sshd:

service sshd restart

你有它。通过运行

仔细检查SFTP是否在支持协议列表中
curl -V

当我最初测试时,Curl抱怨关键身份验证问题,但您可以强制Curl使用任何身份验证进行连接:

curl --anyauth sftp://user:passwd@127.0.0.1/directory -o Test.txt

这将循环使用不同的受支持的身份验证方法,并允许您使用登录凭据。

我希望这有助于减轻人们试图达到同样目标的任何其他麻烦。