rsh(1) リモートシェル

書式

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

説明

rsh はコマンド command をホスト host 上で実行する。

rsh は標準入力をリモートコマンドに対してコピーする。 また、リモートコマンドの標準出力を rsh の標準出力にコピーし、 リモートコマンドの標準エラーを rsh の標準エラーにコピーする。 interrupt, quit, terminate の各シグナルは、 リモートコマンドに通知される。 リモートコマンドが正常終了した場合、 rsh は正常終了する。 使用可能なオプションは以下の通りである。

-K
-K オプションにより Kerberos 認証が行われなくなる。
-d
-d オプションは、リモートホストとの通信に使われる TCP ソケットに対して ( setsockopt(2) を使った) ソケットデバッグを有効にする。
-k
-k オプションは、 rsh に krb_realmofhost3 によって決定されるリモートホストの管理領域 (realm) ではなく、 realm で指定した管理領域におけるリモートホストに対するチケットを取得させる。
-l
デフォルトでは、リモートユーザー名はローカルユーザー名と同じである。 -l オプションにより、リモートユーザー名が指定できる。 Kerberos 認証が使われ、ユーザー認証は rlogin(1) と同じ仕組みで決定される。
-n
-n オプションを使うと、特殊デバイス /dev/null から入力を受け取る (このマニュアルページの Sx バグ のセクションを参照すること)。
-x
-x オプションは、全てのデータ交換について DES 暗号化を有効にする。 これを用いるとレスポンスが著しく遅れるかもしれない。

コマンド command が指定されない場合、ユーザーは rlogin(1) を用いてリモートホストにログインする。

クォートされていないシェルのメタキャラクタは、ローカルマシン上で解釈される。 逆に、クォートされたメタキャラクタはリモートマシン上で解釈される。 例えば、コマンド

rsh otherhost cat remotefile >> localfile

は、リモートファイル remotefile をローカルファイル localfile に追加する。 逆に、

rsh otherhost cat remotefile ">>" other_remotefile

は、リモートファイル remotefile をリモートファイル other_remotefile に追加する。

ファイル

/etc/hosts

履歴

rsh コマンドは BSD 4.2 で登場した。

バグ

csh(1) を使用している場合に、 rsh の入力を端末にリダイレクトしたままバックグラウンドで動作させると、 リモートコマンドから入力がない場合でも rsh は動作をブロックする。 入力が必要ない場合は、 -n オプションを用いて rsh の入力を /dev/null にリダイレクトするべきである。

rsh を用いて ( rogue(6) vi(1) のような) 対話コマンドを実行することはできない。 代わりに rlogin(1) を使うこと。

停止シグナル (SIGSTOP) はローカルの rsh プロセスを停止させるだけである。 これはおそらく間違った動作であるが、 ここで説明するには複雑すぎる理由により、 現時点では修正することが困難である。

翻訳者謝辞

この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> による翻訳を参考にさせていただいた。