在RCurl SSH密码验证方法(Password SSH authentication metho

2019-06-27 21:15发布

我使用的是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小白 - 道歉。 我所知道的是,我可以在使用登录my_useridmy_password与Filezilla的和服务器具有.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

唉,没有运气。 任何帮助表示赞赏!

Answer 1:

这似乎有点晚,但我目前正在类似的东西(公共密钥认证,虽然),并得到它的工作! 下面是我做的:

我没有设立公共密钥认证主要在以下说明http://www.howtoforge.com/set-up-ssh-with-public-key-authentication-debian-etch

也就是说,我的服务器的命令上运行

ssh-keygen -t rsa -C "e@mail.com" -f "ir_rsa"

生成公钥和私钥。 (正如一个旁注,我第一次尝试使用的puttygen我的本地Windows机器上创建工作密钥,但失败了。)

然后,我的公钥添加到授权密钥(仍然在远程服务器上)

mkdir ~/.ssh
chmod 700 ~/.ssh
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

并复制公共和私有密钥文件,其中R是运行在本地计算机上。 然后,我可以使用上传来自R文件

require(RCurl)
ftpUpload(what = "myfile.txt",
    to = "sftp://myusername@my.host.com:22/path/to/myfile",
    verbose = TRUE,
    .opts = list(
        ssh.public.keyfile = "path/to/local/pubkeyfile", 
        ssh.private.keyfile = "path/to/local/privatekeyfile"
    ) 
)


文章来源: Password SSH authentication method in RCurl
标签: r rcurl