Remote Procedure Call
C R Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


  • Version: 0.2-0
  • License: License
  • Download: Download
  • Status: Build Status
  • Author: See section below.

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.



m <- machine("", "snoweye")
## Machine config for snoweye@
##     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("")
rpc(m, "whoami")
## snoweye


  • The rpc() or srpc() are unified interfaces across most popular OSs including Linux, Mac OSX, MS Windows, and Solaris.
  • The above example is completely done in an interactive R session.
  • The call is equivalent to ssh snoweye@ "whoami" in a Linux-like system and plink.exe snoweye@ "whoami" in a windows system, provided that ssh and plink.exe are reachable through the environment variable, PATH.
  • The default communications between the local R and the remote server ( in this case) are encrypted and secure, by default using RSA version 2.
  • Private and public paired key authentications are supported, i.e. login without password.
  • Port forwarding is also supported for two way tunneling, both local -L and remote/reverse -R.


To install the R package, run:


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


When mentioning the pbdRPC, please cite:

  author = {Chen, W.-C and Schmidt, D.},
  title = {{pbdRPC}: Programming with Big Data -- Remote Procedure Call},
  year = {2017},
  note = {{R} Package, URL}


pbdRPC is authored and maintained by the pbdR core team:

  • Wei-Chen Chen
  • Drew Schmidt