A very light implementation yet secure for remote procedure calls with unified interface via ssh (OpenSSH) or plink/plink.exe (PuTTY).
A very light yet secure implementation for remote procedure calls with unified interface via ssh (OpenSSH) or plink/plink.exe (PuTTY).
See pbdRPC vignette for more details and applications.
library(pbdRPC)
m <- machine("192.168.56.101", "snoweye")
m
## Machine config for [email protected]
## pport = 22
## type = ssh
## args = ""
## priv.key = ~/.ssh/id_rsa
## priv.key.ppk = ./id_rsa.ppk
rpc(m, "whoami")
## snoweye
If no username is supplied during machine configuration, then we take the local system user name (which of course may not be correct...):
m <- machine("192.168.56.101")
rpc(m, "whoami")
## snoweye
rpc() or srpc() are unified interfaces across most popular OSs
including Linux, Mac OSX, MS Windows, and Solaris.R session.ssh [email protected] "whoami" in a Linux-like system and
plink.exe [email protected] "whoami" in a windows system,
provided that ssh and plink.exe are reachable through the
environment variable, PATH.R and the remote server
(192.168.56.101 in this case) are encrypted and secure, by default
using RSA version 2.-L and remote/reverse -R.To install the R package, run:
install.package("coop")
The development version is maintained on GitHub, and can easily be installed by any of the packages that offer installations from GitHub:
### Pick your preference
devtools::install_github("RBigData/pbdRPC")
ghit::install_github("RBigData/pbdRPC")
remotes::install_github("RBigData/pbdRPC")
When mentioning the pbdRPC, please cite:
@MISC{pbdRPC2017,
author = {Chen, W.-C and Schmidt, D.},
title = {{pbdRPC}: Programming with Big Data -- Remote Procedure Call},
year = {2017},
note = {{R} Package, URL https://cran.r-project.org/package=pbdRPC}
}
pbdRPC is authored and maintained by the pbdR core team: