Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rsh(1) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rlogin(1)

vi(1)

named(1M)

hosts(4)

hosts.equiv(4)

rsh(1)



rsh(1)                   USER COMMANDS                     rsh(1)



NAME
     rsh - remote shell

SYNOPSIS
     rsh [ -n ] [ -l username ] hostname command

     rsh hostname [ -n ] [ -l username ] command

     hostname [ -n ] [ -l username ] command

DESCRIPTION
     rsh connects to the  specified  hostname  and  executes  the
     specified  command.   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  ter-
     minate  signals  are  propagated  to the remote command; rsh
     normally terminates when the remote command does.

     If you omit command, instead of executing a single  command,
     rsh  logs  you in on the remote host using rlogin(1).  Shell
     metacharacters which are not quoted are interpreted  on  the
     local  machine,  while quoted metacharacters are interpreted
     on the remote machine. See EXAMPLES.

     Hostnames are given in the hosts database, which may be con-
     tained  in  the  /etc/hosts  file,  the Internet domain name
     database, or both.  Each host has  one  official  name  (the
     first name in the database entry) and optionally one or more
     nicknames.  Official hostnames or nicknames may be given  as
     hostname.

     If the name of the file from which rsh is executed  is  any-
     thing  other  than  rsh, rsh takes this name as its hostname
     argument.  This allows you to create a symbolic link to  rsh
     in  the  name  of a host which, when executed, will invoke a
     remote shell on that host.   By  creating  a  directory  and
     populating  it  wih  symbolic links in the names of commonly
     used hosts, then including the  directory  in  your  shell's
     search  path,  you  can  run  rsh by typing hostname to your
     shell.

     Each remote machine may have a file  named  /etc/hosts.equiv
     containing  a list of trusted hostnames with which it shares
     usernames.  Users with the same username on both  the  local
     and  remote  machine may rsh from the machines listed in the
     remote machine's /etc/hosts file.  Individual users may  set
     up  a similar private equivalence list with the file .rhosts
     in their home directories.  Each line in this file  contains
     two  names:  a hostname and a username separated by a space.
     The entry permits the user named username who is logged into
     hostname  to  use  rsh  to  access the remote machine as the



                                                                1





rsh(1)                   USER COMMANDS                     rsh(1)



     remote user.  If the name of the local host is not found  in
     the  /etc/hosts.equiv  file  on  the remote machine, and the
     local username and hostname are  not  found  in  the  remote
     user's  .rhosts  file, then the access is denied.  The host-
     names listed in the /etc/hosts.equiv and .rhosts files  must
     be  the  official  hostnames  listed  in the hosts database;
     nicknames may not be used in either of these files.

     rsh will not prompt for a password if access  is  denied  on
     the remote machine unless the command argument is omited.

OPTIONS
     -l username
          Use username as the remote  username  instead  of  your
          local  username.   In  the  absence of this option, the
          remote username is the same as your local username.

     -n   Redirect the input of rsh to /dev/null.  You  sometimes
          need  this  option  to  avoid  unfortunate interactions
          between rsh and the shell which invokes it.  For  exam-
          ple,  if  you  are  running rsh and invoke 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.  The -n option will prevent this.

     The type of remote shell (sh, rsh, or other)  is  determined
     by  the  user's  entry in the file /etc/passwd on the remote
     system.

EXAMPLES
     The command:

          rsh lizard cat lizard.file >> example.file

     appends the remote file lizard.file from the machine  called
     ``lizard''  to  the  file called example.file on the machine
     called ``example,'' while the command:

          rsh lizard cat lizard.file ">>" lizard.file2

     appends  the  file  lizard.file  on   the   machine   called
     ``lizard''   to  the  file  another.lizard.file  which  also
     resides on the machine called ``lizard.''

FILES
     /etc/hosts
     /etc/passwd

SEE ALSO
     rlogin(1), vi(1), named(1M), hosts(4), hosts.equiv(4).





                                                                2





rsh(1)                   USER COMMANDS                     rsh(1)



NOTES
     When a system is listed in hosts.equiv, its security must be
     as  good  as  local security.  One insecure system listed in
     hosts.equiv can compromise the security of the  entire  sys-
     tem.

     You cannot run an interactive command [such as  vi(1)];  use
     rlogin if you wish to do so.

     Stop signals stop the local rsh process only; this is  argu-
     ably  wrong,  but currently hard to fix for reasons too com-
     plicated to explain here.

     The current local environment is not passed  to  the  remote
     shell.

     Sometimes the -n option is needed for reasons that are  less
     than obvious.  For example, the command:

          rsh somehost dd if=/dev/nrmt0 bs=20b | tar xvpBf -

     will put your shell into a strange state.   Evidently,  what
     happens  is that the tar terminates before the rsh.  The rsh
     then tries to write into the ``broken pipe'' and, instead of
     terminating  neatly, proceeds to compete with your shell for
     its standard input.  Invoking rsh with the -n option  avoids
     such incidents.

     This bug occurs only when rsh is at the beginning of a pipe-
     line  and  is not reading standard input.  Do not use the -n
     if rsh actually needs to read standard input.  For example,

          tar cf - . | rsh sundial dd of=/dev/rmt0 obs=20b

     does not produce the bug.  If you were to use the  -n  in  a
     case  like  this,  rsh would incorrectly read from /dev/null
     instead of from the pipe.


















                                                                3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026