Date: 2007-09-30
Tags: misc, windows

Puttyごった煮版のpfwdでsshポートフォーワード

社外から社内のネットワークにssh経由で接続することがとても多いので、puttyのsshトンネル機能を使っています。でも、トンネルを張るためにputtyのコンソールが一つ常に開いているというのが邪魔で、タスクトレイに常駐するsshトンネルツールないかなあと色々調べてみました。

  • putty.exe:

    ここが出発点。トンネル出来るのはとても便利なんだけどコンソールが邪魔。

  • OpenSSH for Windows :

    cygwinを利用したWindows用のOpenSSHサーバー。ssh接続するとcmd.exeを遠隔 操作できる。Installer付きなのでセットアップは簡単。sshクライアントも 付いてるけどDOS窓が邪魔。SSHサーバーにトンネル設定できれば 解決なんだけど、sshdはあまり詳しくない。

    とりあえずこれはこれで便利なので何かの機会に利用しよう。 (Unix Service for Windows のsshdは有料らしい?)

  • plink.exe:

    putty付属のコンソール用sshクライアント。 やっぱりDOS窓が邪魔なんだけど、よく考えると何かの子プロセスとして起動 してやればDOS窓開かなくて済みそうな。。

  • plinkw.exe:

    PuTTY ごった煮版 のDOS窓のないplink. 本家にはない。 WindowsアプリなんだけどWindow表示しないので、パラメータを指定して起動 すると画面の邪魔にもならず良い感じ。終了とかどうするんだろ?

    ‥‥と思いきや、ネットワークが切断したらダイアログが出てきて、 OK押したら終了してしまった。再接続機能が欲しいなあ。

  • pfwd.exe:

    PuTTY ごった煮版 のポートフォワードツール。本家にはない。 タスクトレイに常駐してくれて、ネットワーク切断時には再接続してくれる。 しかし、とても惜しいことに切断時にダイアログが出てきて、再接続に 成功するか終了するまで消えない。邪魔。。。後一歩。

    ちなみにputty-0.59, 0.60ごった煮版のpfwdは再接続に失敗して終了する らしいので、0.58版で試してみました。

ここで取り得る選択肢は、「plinkあたりをタスクトレイ常駐するプログラムから 子プロセスとして呼び出して切断したら接続をリトライする」ようにするか、 「pfwd.exeを改造してダイアログ出さずにリトライする」ように改造する。

タスクトレイ常駐は pywin32でSysTrayIcon でネタだししたので、ちょっと 頑張れば出来そう。pfwdの改造はすぐ出来そう。うーむ。