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

pma*_*7pg 1 linux sftp curl scp

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

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

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

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

任何帮助将不胜感激!

彼得,先谢谢你

pma*_*7pg 5

虽然卷翘支持SFTP,支持不会自动包含在默认包.

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

手动下载libssh2对我不起作用所以我用yum来安装这两个包:

yum install libssh2 libssh2-devel
Run Code Online (Sandbox Code Playgroud)

然后按照第二步配置Curl使用上面的库进行安装

最后一步是重启sshd:

service sshd restart
Run Code Online (Sandbox Code Playgroud)

你有它.通过运行,仔细检查SFTP是否在支持协议列表中

curl -V
Run Code Online (Sandbox Code Playgroud)

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

curl --anyauth sftp://user:passwd@127.0.0.1/directory -o Test.txt
Run Code Online (Sandbox Code Playgroud)

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

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