- - PR -
【続】Service for Unixのrsh機能について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-01-21 16:22
昨年10月20日に立ち上がったスレと似ている(参照元記事URLを参照)
のですが、少し違うので別スレとして立ち上げます。 SFU3.5をダウンロードし、インストール後、上記スレの内容は正常に動作しました。 このスレの質問は、 「UNIX上のrsh(HPの場合remsh)コマンドでWindows上にあるコマンドを実行するには?」 というものでしたが、この逆で、 「Windows上のrshコマンドからUNIX上にあるコマンドを実行するには?」 どうすればいいんでしょう? ぐぐってみたところ、こんな記事を見つけた http://www.monyo.com/technical/windows/sfu30/ のですが、UNIX上の変更(パスワード同期)って必要なんでしょうか? ご伝授いただけないでしょうか。 宜しくお願い致します。 |
|
投稿日時: 2005-01-21 16:28
Windows Services for Unix の rsh 使わんでも、普通の 2000 のDOSプロンプトの rsh
使こたら? rsh(RPC) サーバーのポートは開けとかなアカンし、ホームディレクトリ上の .rhosts に ウィンドウズのIPとlogin名書いてやらんとアカンけど。/etc/hosts.allow と /etc/hosts.deny も場合によっては適切に設定してやる必要あるし。。。 |
|
投稿日時: 2005-01-21 17:35
コブラさん、超速攻返信ありがとうございます。
え!?SFUは、もしかしていらない!? そうなんですか。。。 ま、それで済むならラッキーです。 で、確認してみたところW2K pro SP3 のDOSプロンプトで、以下のように実行したところ、 rsh UNIXマシン名 -l ユーザ名 コマンド (コマンドはlsとかpwdとか普通のコマンド) で、以下のようなメッセージが出るんです。 UNIXマシン名: remshd: Account is disabled. rsh: can't establish connection う〜ん。困ったな。 $HOMEに.rhostsを作って、WindowsマシンIP 有効ログイン名は記述しました。 /etc/hosts.allow, /etc/hosts.denyはファイルが存在しないので特に悪さはしてないし。 ポート番号を空けるって・・・どこを確認すればいいんですかね。 ほかに原因とかあるのでしょうか。 |
|
投稿日時: 2005-01-21 17:58
追記です。
ポート番号指定ファイルは、 /etc/services でした。 う〜ん、ポート番号135は記述してないですねぇ。 実はこのUNIXマシンからrsh(HPなのでremshですが)を使っている実績があるんです。 もうちょっと環境を調べてみます。 わかったらまたここへ書き込みます。 |
|
投稿日時: 2005-02-01 13:41
解決しました!!
# すずけんさん、プライベートメールありがとうございます。 # プライベートメールにも返信しましたが間違いもあるようなので、 # こちらを参考にしてもらえたら幸いです。 結局、SFUも何もいらず、Windows標準で動くことがわかりました。(W2Kで確認済み) 動かないといっていた対象のUNIXマシンは、実際に実行したいUNIXマシンではなく、 本当に実行したいのは別のUNIXマシンでした。 確かに、/etc/servicesファイルを開くと、135番の記述(rpcサービスか何か)が ありませんでした。 で、本当に実行したいUNIXマシンの/etc/servicesファイルには135番の記述が、 loc-srv 135/tcp loc-srv 135/udp という形で記述してありました。 ここの記述はrootでないと書き換え出来ないはずなので、システム管理者に相談 してみてください。 # とはいえこのあたりはセキュリティポリシーがあって、簡単に「このポートを開けて」 # とお願いしづらいでしょうけど。。。でもシステム管理者ならどのマシンなら、 # そのポートが開いてるか、(rshコマンドが使えるか)わかると思うので、 # 是非とも相談してみてください。 その他の設定などは特にないので、以下の手順で試してみてください。 (1) ローカルマシンはWindows上でコマンドプロンプトを実行。 (2) あとはrshコマンドを利用し、以下のルールに従って入力します。 rsh UNIXマシン名 -l UNIXマシンのユーザ名 コマンド 例) UNIXマシン名:server1 UNIXマシンのユーザ名:Z999999 コマンド:ls 「rsh server1 Z999999 -l ls」 実行結果が出てくるはずです。 # 結果報告が遅くなりすみません。 |
|
投稿日時: 2005-02-01 21:18
kohtanさん、早速の返信ありがとうございました。
色々と試してみましたが、UNIXサーバ側の.rhostsの記述に 問題があることが分かりました。 UNIXからUNIXへのrshの場合は、.rhostsにはホスト名(FQDNで)記述してたのですが、WindowsからUNIXへのrshの場合はマシン名を記述しないといけなかったようです。 色々とお気遣い頂きありがとうございます。 |
|
投稿日時: 2005-02-01 22:47
いえいえ、こちらこそ細かく書いてるわりには間違いが多くてすみません。
先ほど私が書いた 「rsh server1 Z999999 -l ls」 は、 「rsh server1 -l Z999999 ls」 の間違いでした。 失礼しました。 問題解決して良かったですね。 では。 |
1