リモートシェル

リモートシェル(rsh)について



リモートシェル(Remote Shell、略称rsh)は、ネットワーク越しに別のコンピュータ上でコマンドを実行するために使用されるCUIプログラムです。このプログラムを利用することで、特定のユーザーとしてコマンドを実行したり、他のシステムにアクセスしたりすることができます。

rshの動作環境と基本的な使い方



rshを利用するためには、対象のコンピュータにrshdというデーモンが動作している必要があります。このデーモンは、リモートシェルのリクエストを処理する役割を果たします。また、rshという名称は、制限されたシェル(restricted shell)を指すこともあり、これはPWB/UNIX|PWB_UNIXから登場し、SVR4などのOSに搭載されていました。通常、これらの制限されたシェルは/usr/lib/rshという場所に存在します。

rshの歴史



この機能は、BSDオペレーティングシステムで開発され、rcp(リモートコピー)と共に1983年に4.2BSDに組み込まれました。その後、rshは他のオペレーティングシステムにも広まり、さまざまな環境において利用されるようになりました。

セキュリティの観点



ただし、rshには明確なセキュリティ上の懸念があります。ネットワーク上に情報を平文で送信するため、悪意のある第三者による傍受のリスクが存在するのです。特に、パスワードを暗号化せずに送信する実装もあり、認証情報が漏洩する危険性があります。このため、ほとんどのネットワーク環境では、暗号化機能を有するSSH(Secure Shell)がrshの代わりに広く利用されています。

コマンドの実行例



例えば、rshを使用して、host.example.comというホスト上でremoteuserというユーザー名で新しいディレクトリを作成するコマンドは次のようになります。
```bash
rsh -l remoteuser host.example.com "mkdir testdir"
```
コマンドの実行が終わると、rshは終了します。また、実行するコマンドが指定されていない場合は、rloginを通じてリモートシステムにログインします。このとき、リモートコンピュータの位置はDNS(Domain Name System)を用いて解決されます。

利用するポート



rshはTCPポート514を利用し、これを通じてリモートシェルの通信が行われます。

参考文献


もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。