Q. rsh・rlogin・rcp って何ですか。 A. 他のホストでコマンドを実行 (rsh)、他のホストから (あるいは 他のホストへ) ファイルをコピー (rcp)、他のホストにログイン (rlogin) するコマンドです。 相手側に対応する rshd、rlogind などのサーバが用意されている 必要があります。FreeBSD では、これらのサーバはデフォルトで 実行されるようになっています。 local.hoge.ac.jp の user1 というユーザが、remote.hoge.ac.jp に hoge2 というユーザとしてログインする場合、 % rlogin -l user2 remote.hoge.ac.jp とします。もしリモートとローカルでユーザ名が同じなら `-l user2' は 省略可能で、単に % rlogin remote.hoge.ac.jp とすればよいです。 また、相手側のホスト (remote.hoge.ac.jp) の ~/.rhosts という ファイルに local.hoge.ac.jp user1 と記述しておくと、local.hoge.ac.jp から - rlogin 時にパスワード入力が不要 - rsh・rcp が使用可能。こちらもパスワード入力が不要 ができるようになります。 - rsh の使い方。 local.hoge.ac.jp から remote.hoge.ac.jp で ls コマンドを 実行するには % rsh -l user2 remote.hoge.ac.jp ls とします。 - rcp の使い方。 % rcp user2@remote.hoge.ac.jp:/dir1/dir2/file . remote.hoge.ac.jp の /dir1/dir2/file を local.hoge.ac.jp の カレントディレクトリにコピー % rcp user2@remote.hoge.ac.jp:dir1/dir2/file . ホームディレクトリ以下の dir1/dir2/file がコピーされます。 % rcp file user2@remote.hoge.ac.jp:~/dir1/dir2/ 逆向きにリモートへファイルをコピー % rcp user2@remote.hoge.ac.jp:~/dir1/\*.txt ~/dir1 エスケープすればワイルドカードも使えます。 上の例とは逆に、local.hoge.ac.jp の ~/.rhosts に remote.hoge.ac.jp user2 と書いておくと、remote.hoge.ac.jp から local.hoge.ac.jp へ、 ノーパスワードで rsh・rlogin・rcp が実行できます。 要は、 「ログインしたいホストの ~/.rhosts に」 「どこのホストのどういう名前のユーザを許可するか」 を書いておくわけです。 r* コマンドは便利なのですが、セキュリティを重視するサイトでは、 rsh・rlogin・rcp の代わりに ssh を使うところが多いです。 また、セキュリティ以外の面でも、ネットワークが細い場合は -C オプションによる圧縮の効果もあります。できるだけ ssh を 使う方がよいでしょう。 [管理番号 1577] ssh・slogin・scp って何ですか。 r* コマンドで接続させないようにするには、/etc/inetd.conf から shell stream tcp nowait root /usr/libexec/rshd rshd login stream tcp nowait root /usr/libexec/rlogind rlogind のエントリを # でコメントアウトしたあと、 # killall -HUP inetd として現在実行中の inetd にファイル変更を反映させます。 仮に r* コマンドを使用可能にするとしても、tcp_wrapper (tcp_wrappers) を導入し、指定したホスト以外からの rsh・rlogin・rcp を弾くようにした方がよいでしょう。
グループ名: ssh