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 snoweye@192.168.56.101
## 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 snoweye@192.168.56.101 "whoami"
in a Linux-like system and
plink.exe snoweye@192.168.56.101 "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:
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.