2017-04-15 85 views
0

我正在寫一些R中需要使用SSH密鑰認證將文件上傳到服務器的內容。我正在使用RCurl包中的下面的代碼,但我使用的私鑰有一個密碼。對於我的生活,我無法弄清楚如何指定密鑰的密碼。有沒有人有使用ftpUpload函數的經驗,或者有可能有更好的方式在R中做到這一點?在R中使用ftpUpload函數的私鑰密碼短語

ftpUpload(what = pathtofile, 
     to = serverlocation, 
     verbose = TRUE, 
     .opts = list(
     ssh.private.keyfile = pathtokey 
     )) 

回答

0

從R的文檔curlOptions和運行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