Section: User Commands (1)
Index Return to Main Contents

BSD mandoc
BSD 4.2  


rsh - remote shell  


rsh [-Kdnx ] [-k realm ] [-l username ] host
rsh [-Kdnx ] [-k realm ] username@host [command]  


Rsh executes command on host

Rsh copies its standard input to the remote command, the standard output of the remote command to its standard output, and the standard error of the remote command to its standard error. Interrupt, quit and terminate signals are propagated to the remote command; rsh normally terminates when the remote command does. The options are as follows:

The -K option turns off all Kerberos authentication.
The -d option turns on socket debugging (using setsockopt(2)) on the TCP sockets used for communication with the remote host.
The -k option causes rsh to obtain tickets for the remote host in realm instead of the remote host's realm as determined by krb_realmofhost3.
By default, the remote username is the same as the local username. The -l option or the username@host format allow the remote name to be specified. Kerberos authentication is used, and authorization is determined as in rlogin(1).
The -n option redirects input from the special device /dev/null (see the Sx BUGS section of this manual page).
The -x option turns on DES encryption for all data exchange. This may introduce a significant delay in response time.

If no command is specified, you will be logged in on the remote host using rlogin(1).

Shell metacharacters which are not quoted are interpreted on local machine, while quoted metacharacters are interpreted on the remote machine. For example, the command

rsh otherhost cat remotefile >> localfile

appends the remote file remotefile to the local file localfile while

rsh otherhost cat remotefile ">>" other_remotefile

appends remotefile to other_remotefile  





rlogin(1), kerberos(3), krb_sendauth3, krb_realmofhost3  


The rsh command appeared in BSD 4.2  


If you are using csh(1) and put a rsh in the background without redirecting its input away from the terminal, it will block even if no reads are posted by the remote command. If no input is desired you should redirect the input of rsh to /dev/null using the -n option.

You cannot run an interactive command (like rogue(6) or vi(1)) using rsh use rlogin(1) instead.

Stop signals stop the local rsh process only; this is arguably wrong, but currently hard to fix for reasons too complicated to explain here.




This document was created by using the manual pages.
Time: 23:07:12 GMT, May 09, 2009