rcpu, rimport, rexport, rconnect – connection to CPU server


rcpu [ -u user ] [ -k keypattern ] [ -P patternfile ] [ -p ] [ -h host ] [ -c cmd arg ... ]

rimport [ -abcCnq ] [ -s name ] [ -u user ] [ -k keypattern ] [ -p ] host tree [ mountpoint ]

rexport [ -abcCnq ] [ -s remotename ] [ -m remotemtpt ] [ -u user ] [ -k keypattern ] [ -P patternfile ] [ -p ] tree host [ remotecmd arg ... ]

rconnect [ -u user ] [ -k keypattern ] [ -p ] host remotescript localcommand arg ...


Rcpu runs commands from rc(1) on a cpu server with the local namespace exported to the remote side under /mnt/term. The current directory, interrupt notes, standard file descriptors 0,1,2 and /dev/cons are passed to the remote side. The command to run can be passed with -c cmd arg ... , otherwise an interactive shell is started. The user’s profile is run before the command with $service set to cpu to allow further customization of the environment (see rc(1) for more information). The cpu server can be specified with -h host, otherwise it defaults to the environment variable $cpu or is looked up from ndb(6).

Rimport mounts a remote directory tree from a cpu server host into the local namespace at mountpoint. When mountpoint is omitted, it is set the same as tree. When the -s name option is present, the service is also posted to /srv/name allowing it to be mounted in other namespaces.

Rexport is the reverse of rimport, exporting a local directory tree to the server host and optionally executing remotecmd arg on the server side after posting the service to /srv/remotename or mounting it at remotemtpt.

Rconnect is a helper program handling client side connection setup for the commands listed above. The rcpu protocol starts by setting up a mutual authenticated and encrypted TLS connection using tlssrv(8) followed by the client sending an rc(1) remotescript file to the server which gets executed under the authenticated user with file descriptors 0,1,2 cross connected to file descriptors 0,1 of the client side running localcommand over the encrypted connection.

The common options are:

-a -b -c -C -n -q

Specifies the mount options (see bind(1)) for rimport and rexport.  

-P patternfile

Restricts the set of exported files (see exportfs(4)) for rcpu and rexport.  

-u user

Remote user id to authenticate as.  

-k keypattern

Use keypattern to select a key to authenticate to the remote side (see auth(2)).  


Protect the connection against connection resets by establishing aan(8) tunnel.  






rc(1), cpu(1), con(1), import(4), exportfs(4), tlssrv(8), aan(8)