rsh - remote shell
rsh [-dn] [-l username] hostname [command]
rsh executes command on hostname.
Note: rsh has been deprecated in favor of ssh(1). Use of
rsh is discouraged
due to the inherent insecurity of host-based authentication.
rsh copies its standard input to the remote command, the
of the remote command to its standard output, and the standard error of
the remote command to its standard error. Interrupt, quit
signals are propagated to the remote command; rsh normally
when the remote command does.
The options are as follows:
-d Enable socket debugging (using setsockopt(2)) on the
used for communication with the remote host.
-l By default, the remote username is the same as the
The -l option allows the remote name to be
-n Redirect input from the special device /dev/null
(see the BUGS
section of this manual page).
If no command is specified, you will be logged in on the remote host using
rlogin if it exists on the system or telnet(1) if not.
If rsh is not invoked with the standard program name
(``rsh''), it uses
this name as its hostname argument.
Shell meta-characters which are not quoted are interpreted
on local machine,
while quoted meta-characters are interpreted on the
For example, the command
$ rsh otherhost cat remotefile >> localfile
appends the remote file remotefile to the local file
$ rsh otherhost cat remotefile ">>" other_remotefile
appends remotefile to other_remotefile.
The rsh command appeared in 4.2BSD.
If you are using csh(1) and put a rsh in the background
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
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 telnet(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
OpenBSD 3.6 July 24, 1991
[ Back ]