NAME remsh -- execute from a remote shell SYNOPSIS remsh hostname -l remotelogin -n remotecommand MAJOR DIFFERENCES This remsh consists only of the remsh client. There is no remshd on the 3000. Further, this remsh does not allow access to rcmd or rlogin. Since remshd functionality is not avaliable on MPE iX, there is no provision to use /etc/hosts.equiv or $HOME/.rhosts on the MPE iX system. DESCRIPTION remsh connects to the specified host and executes the specified remote command. The host name can be either the official name or an alias as understood by gethostbyname(). remsh copies its standard input (stdin) to the remote command, and the standard output of the remote command to its standard output (stdout), and the standard error of the remote command to its standard error (stderr). remsh exits when the sockets associated with stdout and stderr of the remote command are closed. This means that remsh normally terminates when the remote command does. By default, remsh uses the following path when executing the specified remote command: :/bin:/usr/bin:/usr/contrib/bin:/usr/local/bin remsh uses the default remote login shell with the -c option to execute the remote command. If the default remote shell is csh, csh sources the remote .cshrc file before the command. remsh cannot be used to run commands that require a terminal interface (such as vi) or commands that read their standard error (such as more). The local account name passed by remsh to the remote hosts for authentification purposes is the same as your MPE iX login in upper case. For instance MPE iX login manager.sys will be reported as MANAGER.SYS. So on the target Unix machine there will be a .rhost file that must contain an entry authorizing you access to that user. So if you're logged in a 3000 (foo.bar.com) as Manager.Sys and want to connect to the Unix host (tarfoo) as user fred, in fred's home directory there must be a .rhost file with the line: foo.bar.com MANAGER.SYS if not, remshd on the unix machine will not allow the connection. user. The remote account name used is the same as your MPE iX login unless you specify a different remote name with the -l option. This remote account name must be equivalent to the originating account; no provision is made for specifying a password with a command. The files inspected by the remshd on the remote host are /etc/hosts.equiv and $HOME/.rhosts. If command, is not specified, remsh will terminate and provide a usage message. By default, remsh reads its standard input and sends it to the remote command because remsh has no way to determine whether the remote command requires input. The -n option redirects standard input to remsh from /dev/null. This is useful when running a shell script containing a remsh command, since otherwise remsh may use input not intended for it. The -n option is also useful when running remsh in the background from a job control shell, /bin/csh or /bin/ksh. Otherwise, remsh stops and waits for input from the terminal keyboard for the remote command. /bin/sh automatically redirects its input from /dev/null when jobs are run in the background. Host names for remote hosts can also be commands (linked to remsh) in the directory /usr/hosts. If this directory is specified in the $PATH environment variable, you can omit remsh. For example, if remotehost is the name of a remote host, /usr/hosts/remotehost is linked to remsh, and if /usr/hosts is in your search path, the command remotehost command executes command on remotehost. EXAMPLES Shell metacharacters that are not quoted are interpreted on the local host; quoted metacharacters are interpreted on the remote host. Thus the command line: remsh otherhost cat remotefile >> localfile appends the remote file remotefile to the local file localfile, while the command line remsh otherhost cat remotefile ">>" otherremotefile appends remotefile to the remote file otherremotefile. If the remote shell is /bin/sh, the following command line sets up the environment for the remote command before executing the remote command: remsh otherhost . .profile 2>&- \; command The 2>&- throws away error messages generated by executing .profile when stdin and stdout are not a terminal. The following command line runs remsh in the background on the local system, and the output of the remote command comes to your terminal asynchronously: remsh otherhost -n command & The background remsh completes when the remote command does. The following command line causes remsh to return immediately without waiting for the remote command to complete: remsh otherhost -n "command 1>&- 2>&- &" (See remshd(1M) and sh(1)). If your login shell on the remote system is csh, use the following form instead: remsh otherhost -n "sh -c \"command 1>&- 2>&- &\"" RETURN VALUE If remsh fails to set up the secondary socket connection, it returns 2. If it fails in some other way, it returns 1. If it fully succeeds in setting up a connection with remshd, it returns 0 once the remote command has completed. Note that the return value of remsh bears no relation to the return value of the remote command. DIAGNOSTICS Besides the errors listed below, errors can also be generated by the functions rcmd() and rresvport() which are used by remsh Those errors are preceded by the name of the function that generated them. remsh can produce the following diagnostic messages: shell/tcp: Unknown service The ``shell'' service specification is not present in the /etc/services file. Can't establish stderr remsh cannot establish secondary socket connection for stderr. : ... Error in executing system call. Appended to this error is a message specifying the cause of the failure. There is no entry for you (user ID uid) in /etc/passwd Check with the system administrator to see if your entry in the password file has been deleted by mistake. WARNINGS For security reasons, the /etc/hosts.equiv and .rhosts files should exist on the remote hosts, even if empty , and should be readable and writable only by the owner. There is no need to have the /etc/hosts.equiv and .rhost files on the MPE iX system as no services access them. Note also that all information, including any passwords asked for, is passed unencrypted between the two hosts. If remsh is run with an interactive command it hangs. DEPENDENCIES remsh is the same service as rsh on BSD systems. The name was changed due to a conflict with the existing System V command rsh (restricted shell). AUTHOR remsh was developed by the University of California, Berkeley. FILES /usr/hosts/* for version of the command invoked only with hostname