rshコマンド 【remote shell】 リモートシェル
概要
rshコマンド(remote shell)とは、主にUNIX系OSで用いられるコマンドおよびプログラムの一つで、ネットワークを通じて他のコンピュータのシェルを呼び出し、入力されたコマンドを遠隔実行するもの。その名のイメージとは異なり、telnetのようにシェルとしての対話的な実行環境を提供するわけではなく、単体のコマンドを遠隔実行する。引数で指定されたホスト名やIPアドレスを持つコンピュータにコマンド文字列を送信して実行させ、結果を受信して出力する。
接続先でのコマンド実行に用いられるアカウントはデフォルトではローカル側と同じユーザー名が用いられるが、オプションでユーザー名とパスワードを指定してKerberos認証を行うこともできる。オプションでDESによる通信の暗号化を指定することもできる。
投入先のコンピュータではrshコマンドによる実行を受け付ける常駐プログラムが必要で、これを「rshd」(rsh daemon)という。標準ではTCPの514番ポートで接続を受け付ける。このデーモンはrcpコマンド(remote copy)の受け付けも行う。
最初のバージョンは1982年に、rloginやrexecなど他のリモート系コマンド(r-commands)と共に当時の4.1BSD(Berkeley Software Distribution)向けに開発されたもので、基本的な設計が古い。デフォルトでは暗号化を行わなかったり、実装によっては平文でパスワードを送信するものもあるなど、現代では安全に使用することは難しく、SSHなど似た機能のより安全なシステムを用いるべきとされる。
(2020.9.3更新)