Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rshd(1M) — Amiga System V Release 4 Version 1.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rsh(1)



rshd(1M)          MISC. REFERENCE MANUAL PAGES           rshd(1M)



NAME
     rshd - remote shell server

SYNOPSIS
     in.rshd  host.port

DESCRIPTION
     rshd is the server for the rsh(1) program.  The server  pro-
     vides  remote execution facilities with authentication based
     on privileged port numbers.

     rshd is invoked by inetd(1M) each time a  shell  service  is
     requested, and executes the following protocol:

     1)   The server checks the client's  source  port.   If  the
          port  is not in the range 0-1023, the server aborts the
          connection.  The clients host address (in hex) and port
          number (in decimal) are the argument passed to rshd.

     2)   The server reads characters from the  socket  up  to  a
          null  ( \0 ) byte.  The resultant string is interpreted
          as an ASCII number, base 10.

     3)   If the number received in step 1  is  non-zero,  it  is
          interpreted as the port number of a secondary stream to
          be used for the stderr.  A second  connection  is  then
          created  to the specified port on the client's machine.
          The source port of this second connection  is  also  in
          the range 0-1023.

     4)   The server checks the client's source address.  If  the
          address   is  associated  with  a  host  for  which  no
          corresponding entry exists in the host name  data  base
          [see hosts(4)], the server aborts the connection.

     5)   A null terminated user name of at most 16 characters is
          retrieved  on  the  initial  socket.  This user name is
          interpreted as a user identity to use on  the  server's
          machine.

     6)   A null terminated user name of at most 16 characters is
          retrieved  on  the  initial  socket.  This user name is
          interpreted  as  the  user  identity  on  the  client's
          machine.

     7)   A null terminated command to be passed to  a  shell  is
          retrieved  on  the  initial  socket.  The length of the
          command is limited by the upper bound on  the  size  of
          the system's argument list.

     8)   rshd then validates the user according to the following
          steps.   The  remote  user  name  is  looked  up in the



                       Last change: TCP/IP                      1





rshd(1M)          MISC. REFERENCE MANUAL PAGES           rshd(1M)



          password file and a chdir is performed  to  the  user's
          home directory.  If the lookup or fails, the connection
          is terminated.  If the chdir fails, it does a chdir  to
          /  (root).  If the user is not the super-user, (user ID
          0), the file /etc/hosts.equiv is consulted for  a  list
          of  hosts  considered equivalent.  If the client's host
          name is present in this  file,  the  authentication  is
          considered  successful.   If  the  lookup fails, or the
          user is the super-user, then the file  .rhosts  in  the
          home  directory  of  the remote user is checked for the
          machine name and identity of the user on  the  client's
          machine.   If this lookup fails, the connection is ter-
          minated.

     9)   A null byte is returned on  the  connection  associated
          with  the  stderr and the command line is passed to the
          normal login shell of the user.  The shell inherits the
          network connections established by rshd.

FILES
     /etc/hosts.equiv

SEE ALSO
     rsh(1)

DIAGNOSTICS
     The following diagnostic messages are returned on  the  con-
     nection  associated with the stderr, after which any network
     connections are closed.  An error is indicated by a  leading
     byte  with  a value of 1 (0 is returned in step 9 above upon
     successful completion of all the steps prior to the  command
     execution).

     locuser too long
          The name of the user on the client's machine is  longer
          than 16 characters.

     remuser too long
          The name of the user on the remote  machine  is  longer
          than 16 characters.

     command too long
          The command line passed exceeds the size of  the  argu-
          ment list (as configured into the system).

     Hostname for your address unknown.
          No entry in the host  name  database  existed  for  the
          client's machine.

     Login incorrect.
          No password file entry for the user name existed.




                       Last change: TCP/IP                      2





rshd(1M)          MISC. REFERENCE MANUAL PAGES           rshd(1M)



     Permission denied.
          The authentication procedure described above failed.

     Can't make pipe.
          The pipe needed for the stderr was not created.

     Try again.
          A fork by the server failed.

NOTES
     The authentication procedure used here assumes the integrity
     of  each  client machine and the connecting medium.  This is
     insecure, but is useful in an open environment.

     A facility to allow  all  data  exchanges  to  be  encrypted
     should be present.







































                       Last change: TCP/IP                      3



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