2010-07-14 89 views
3

我需要通过SFTP从PHP脚本上传文件。我认为cURL可能是这样的,因为我在服务器上有这个可用的。带私钥认证的SFTP cURL

有没有人有一个如何使用cURL SFTP使用身份密钥身份验证的例子?

- 编辑 -

我刚刚注意到,HTTP PUT可能是一种选择,但安全性如何呢?

回答

4
curl -u <username>: --key ~/.ssh/id_rsa --pubkey ~/.ssh/id_rsa.pub sftp://<remote_host>/<remote_path> 

HTTP是不安全的,所以你把在发送任何数据(例如密码或上载的文件),可以窥探和阅读纯文本格式。根据您的申请,这可能会也可能不会成为您的担忧。

+0

为什么curl需要密钥和公钥? – Angelo 2014-11-28 22:21:10

+1

@Angelo:*自7.39.0开始,curl尝试自动从私钥文件中提取公钥,因此通常不需要传递此选项。*来源:http://curl.haxx.se/docs/manpage .html – idontevenseethecode 2014-12-01 18:39:24

+0

我想我的意思是:为什么curl需要它而ssh不? ssh对中间人攻击不太安全? – Angelo 2014-12-02 18:56:09