我在R中写了一些东西,需要使用SSH密钥身份验证将文件上传到服务器。我使用RCurl包中的以下代码,但我使用的私钥有一个密码。对于我的生活,我无法弄清楚如何指定密钥的密码。有没有人有使用ftpUpload功能的经验,或者可能有更好的方法在R中这样做?
ftpUpload(what = pathtofile,
to = serverlocation,
verbose = TRUE,
.opts = list(
ssh.private.keyfile = pathtokey
))
答案 0 :(得分:0)
从curlOptions的R文档和正在运行的listCurlOptions()
看起来keypasswd
就是您正在寻找的内容。
编辑/更新:我已经尝试将此选项添加到我自己的代码并运行它,它对我来说很好。您的最终通话应如下所示:
ftpUpload(what = pathtofile,
to = serverlocation,
verbose = TRUE,
.opts = list(
ssh.private.keyfile = pathtokey,
keypasswd = passphrase
))
您的输出应该类似于:
* Trying 123.456.789…
* TCP_NODELAY set
* Connected to 123.456.789 (123.456.789) port 22 (#0)
* SSH MD5 fingerprint: abcdefghij123456789
* SSH authentication methods available: publickey
* Using SSH public key file '/Users/User1/.ssh/id_rsa.pub'
* Using SSH private key file '/Users/User1/.ssh/id_rsa'
* Initialized SSH public key authentication
* Authentication complete
* Connection #0 to host 123.456.789 left intact
OK
0