我正在使用包中的ftpUpload
函数RCurl
将文件上传到 sftp 文件服务器。我在进行身份验证调用时遇到了困难。
以下是我的电话:
ftpUpload(what = "some-file.png",
to = "sftp://some-ftp-server.com:22/path/to/some-file.png",
verbose = TRUE,
userpwd = "my_userid:my_password")
结果我得到:
* About to connect() to some-ftp-server.com port 22 (#0)
* Trying some-ftp-server.com... * connected
* Connected to some-ftp-server.com (some ip address) port 22 (#0)
* SSH authentication methods available: publickey,password
* Using ssh public key file /home/.ssh/id_dsa.pub
* Using ssh private key file /home/.ssh/id_dsa
* SSH public key authentication failed: Unable to open public key file
* Authentication failure
* Closing connection #0
Error in function (type, msg, asError = TRUE) : Authentication failure
我不是设置 sftp 服务器的人,而且我有点 ssh 菜鸟——抱歉。我所知道的是,我可以使用 Filezilla 登录,my_userid
并且my_password
服务器有一个.htaccess
和.htpasswd
文件。
我希望有某种方法可以ftpUpload
仅使用我的用户名和密码进行身份验证。这似乎password
是两种可用方法之一,但我似乎无法ftpUpload
理解我想单独使用后者。
该.htpasswd
文件似乎包含my_userid:my_password
,尽管密码部分已加密。我愿意在某个地方加载它以供ftpUpload
访问,但我不确定如何指向ftpUpload
正确的方向。
最后,我尝试使用并查看此处列出的 libcurl 选项:http ://www.omegahat.org/RCurl/philosophy.html并在此处进行更全面的解释:http: //curl.haxx.se/libcurl /c/curl_easy_setopt.html
唉,没有运气。任何帮助表示赞赏!