Retrieve contents of a file from a remote host via SCP (Secure Copy)
scp.RdThis function allows us to retrieve the contents of a file from a remote host via SCP. This is done entirely within R, rather than a command line application and the contents of the file are never written to disc. The function allows the
Usage
scp(host, path, keypasswd = NA, user = getUserName(), rsa = TRUE,
key = sprintf(c("~/.ssh/id_%s.pub", "~/.ssh/id_%s"),
if (rsa) "rsa" else "dsa"),
binary = NA, size = 5000, curl = getCurlHandle(), ...)Arguments
- host
the name of the remote host or its IP address
- path
the path of the file of interest on the remote host's file systems
- keypasswd
a password for accessing the local SSH key. This is the passphrase for the key.
- user
the name of the user on the remote machine
- rsa
a logical value indicating whether to use the RSA or DSA key
- key
the path giving the location of the SSH key.
- binary
a logical value giving
- size
an estimate of the size of the buffer needed to store the contents of the file. This is used to initialize the buffer and potentially avoid resizing it as needed.
- curl
a curl handle (
getCurlHandle) that is to be reused for this request and which potentially contains numerous options settings or an existing connection to the host.- ...
additional parameters handed to
curlPerform.
Details
This uses libcurl's facilities for scp.
Use "scp" %in% curlVersion()$protocols to
see if SCP is supported.
References
libcurl https://curl.se/
Examples
if (FALSE) { # \dontrun{
x = scp("eeyore.ucdavis.edu", "/home/duncan/OmegaWeb/index.html",
"My.SCP.Passphrase", binary = FALSE)
x = scp("eeyore.ucdavis.edu", "/home/duncan/OmegaWeb/RCurl/xmlParse.bz2",
"My.SCP.Passphrase")
o = memDecompress(x, asChar = TRUE)
} # }