人気ブログランキング | 話題のタグを見る
WindowsのコマンドプロンプトからLinuxのコマンドを実行する方法
つ TELNET

 いや、そうじゃなくて。ログインせずに、コマンド一発で済ませる方法。RSHを使う方法と、SSHを使う方法の2種類がある。RSHは、要はTelnetみたいなもんで、セキュリティ的にヤバ目。SSHの方がセキュリティが高い。

 仕事で必要になって調べたものの覚え書きです。




 具体的な方法は、次の通り。Windows XP (SP2) → RedHat Linux 9 で確認。

<RSH>
 RSHは、Windows 2000 と XP に標準で装備されている。なので、WIndows側の準備は必要なし。
 Linux側で以下のように設定する。

 1. コマンドを実行するユーザーのホームに、”.rhosts”というファイルを作成して、以下のように記述する。
  Windowsマシン名(IPでも可) Windowsユーザー名
  例) 12.34.56.78 fkmn_win

 2. RSHのポートをあけるため、/etc/services に以下の記述を追加
  loc-srv 135/tcp
  loc-srv 135/udp

 3. ネットワークを再起動
  # /etc/rc.d/init.d/network restart

 これで、準備完了。後はWindowsのコマンドプロンプトで、次の形式でコマンドを打つ。
  rsh [ホスト] [-L ユーザー名] [-N] [コマンド]
  例) rsh 98.76.54.32 -L fkmn_lin ls


<SSH>
 plink.exeを使う。これで、一発解決(PuTTY Team Members に感謝!!)。次の形式で使う。
  plink ユーザー@ホスト名 実行するコマンド
  例) plink fkmn_lin@98.76.54.32 ls


参考サイト:
【続】Service for Unixのrsh機能について - Windows Server Insider
Windowsコマンド集:(rsh)


2006/6/14 追記
 rsh を使う場合は、".rhosts"のパーミッションを、644 や 600 にする事。他のユーザーから".rhosts"が更新できるようになっていると、セキュリティのため、rsh は実行できないようになっている(後輩がこれでハマってた)。
 
 それから、plink が微妙な動きをする場合がある。plink を使ってコマンドラインでログインすると、ログイン後に一切のコマンドを受け付けてくれなくなる。軽く調べてみたところ、どうやら Enterキーを押したときに送信される改行コードが、LFじゃなくってCRになっているようだ(Macでもないのになぜ?)。

参考サイト:
UNIXの部屋 検索:~/.rhosts
by fkmn | 2006-05-30 23:31 | IT
<< 半核生物? 「More」の使い道 >>


とあるWebアプリケーションエンジニアの日記

by fkmn
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カテゴリ
以前の記事
ブログパーツ
リンク
検索
タグ
最新のトラックバック
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

fkmnの最近読んだ本 フィードメーター - フッ君の日常 あわせて読みたい AX