RSH(1)

名称
rsh - リモートマシン上でコマンドを実行する

書式
rsh [-Kdnx] [-k realm] [-l username] host [command]

解説
rsh は、 host で指定したホスト上で、 command で指定したコマンドを実行します。 rsh は、標準入力をリモートコマンドに対してコピーします。また、リモートコマンドの 標準出力を、 rsh の標準出力に、リモートコマンドの標準エラー出力を、 rsh の標準エラー出力にコピーします。SIGINT,SIGQUIT,SIGTERM の各シグナルに関しては、 リモートコマンドに対して通知されます。 rsh は、リモートコマンドが正常終了した場合には正常終了します。本コマンドは、 以下のオプションが使用可能です。Kerberos によるユーザ認証お よび、DES による暗号化に関係したオプションについては、 オリジナルのオンラインマニュアルを参照して下さい。

-d  setsockopt(2) を用いて、リモートホストとの通信に用いられる TCP ソケットのデバッグを有効にします。

-l  デフォルトでは、ローカルユーザ名とリモートホスト上のユーザ名 は同一です。本オプションにより、リモートホスト上でのユーザ名を指定出来ます。 可能であれば、Kerberos によるユーザ認証機構が採用されます。 また、ユーザ認証については、 rlogin(1) と同様に行われます。

-n  rsh の入力を、 /dev/null にします (バグ の項を参照して下さい)。

-x  -x オプションは、全てのデータ交換に DES による暗号をかけます。 これを用いると、レスポンスが著しく遅くなるかもしれません。

コマンドが指定されない場合には、ユーザは rlogin(1) を用いてリモートホストにログインします。 クオートされないシェルのメタキャラクタについては、ローカルマシン上で解釈され、 クオートされているシェルのメタキャラクタはリモートホスト上で解釈されます。 例えば、

    rsh otherhost cat remotefile >> localfile

については、リモートマシン上のファイル remotefile を、ローカルマシン上のファイル localfile にアペンドします。一方

    rsh otherhost cat remotefile ">>" other_remotefile

については、リモートマシン上の remotefile を other_remotefile にアペンドします。

関連ファイル
/etc/hosts

関連項目
rlogin(1), kerberos(3), krb_sendauth(3), krb_realmofhost(3)

歴史
rsh コマンドは 4.2BSD から登場しました。

バグ
csh(1) を用いて rsh を標準入力からのリダイレクトなしにバックグラウンドで実行する場合、 リモートコマンドの入力がなくてもブロックされることがあります。 リダイレクションを用いて rsh に渡すべきデータが存在しない場合、 -n を用いてリモートコマンドの入力 元を /dev/null に切替えて下さい。

rsh を用いて rogue(6) や vi(1) のような会話的コマンドを実行することは出来ません。 かわりに rlogin(1) を用いて下さい。

SIGSTOP は、ローカルマシンの rsh プロセスを停止させるだけです。これはおそらく、悪いことでしょう。 しかし、ここでは説明するのが面倒な理由により、本症状をなおすのは現在 困難です。