rsh —
リモートシェル
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_realmofhost(3)
によって決定されるリモートホストの管理領域
(realm) ではなく、
realm
で指定した管理領域におけるリモートホストに対するチケットを取得させる。
- -l
- デフォルトでは、リモートユーザー名はローカルユーザー名と同じである。
-l
オプションにより、リモートユーザー名が指定できる。
Kerberos
認証が使われ、ユーザー認証は
rlogin(1)
と同じ仕組みで決定される。
- -n
-
-n
オプションを使うと、特殊デバイス
/dev/null
から入力を受け取る
(このマニュアルページの
バグ
のセクションを参照すること)。
- -x
-
-x
オプションは、全てのデータ交換について
DES
暗号化を有効にする。
これを用いるとレスポンスが著しく遅れるかもしれない。
コマンド
command
が指定されない場合、ユーザーは
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
オプションを用いて
rsh の入力を
/dev/null
にリダイレクトするべきである。
rsh を用いて
(
rogue(6) や
vi(1) のような)
対話コマンドを実行することはできない。
代わりに
rlogin(1)
を使うこと。
停止シグナル (SIGSTOP)
はローカルの
rsh
プロセスを停止させるだけである。
これはおそらく間違った動作であるが、
ここで説明するには複雑すぎる理由により、
現時点では修正することが困難である。
この man
ページの翻訳にあたり、
FreeBSD jpman project <
http://www.jp.freebsd.org/man-jp/>
による翻訳を参考にさせていただいた。