2004-05-18

Zebedee 逆流鍵認証(port制限つき)接続メモ

まず基本。

serverclienthost HOSTNAME
clientlistenmode

を設定すると server から client へ接続される。以下補足。

  • serverport は両方に必要。(もしくは両方指定しないで自由に通信させるか、どっちか。でも自由に通信できるんだったら tunnel の意味ないよね :)これは Zebedee の接続ポートを明示的に制限する場合の基本。
  • listenmode の client は設定した serverport 及び tunnel のすべてのポートで listen する。ただし、tunnel の方に書いた port については、localsource true の場合は localhost 以外からの接続は受け付けない。
  • firewall の設定は serverport を開けておく。
  • client が listenmode でなおかつ serverhost * でない場合は、server の名前をどうにかして client が解決できないといけない。例えば DNS のない LAN 内の場合は Windows <-> Un*x 間は普通名前解決できないので繋がらない。
  • serverhost * の listenmode は要するにサイバーノーガード状態なので identity checking を行う。この際、秘密鍵、公開鍵は以下のように
listenmode clientinclude private key
serverCHECKIDFILE public key

接続 ok

listenmode clientCHECKIDFILE public key
serverinclude private key

接続 ok

どっちに何を置いても繋がる。秘密鍵があれば公開鍵は生成できるので、より信用できるホストに秘密鍵を置いておいた方がいいかな。

接続手順

server は Zebedee の listen にだけは connect するが、実際の認証は client 側で接続要求が発生してから。

  1. client を起動(これはずっと接続待ち)
  2. server を起動(timeout するまで、default では 300秒待つ)
  3. client に接続するプログラムで通信を試みる
  4. server が timeout してなかったら tunnel が作成される

これを使えば ssh の remote forward を使わなくても「ちょっと風変わりな SSH 経由 VNC」と同じことができる。ただし、Zebedee server の timeout という制限は加わる。(ssh の場合は exit しない限り基本的には繋がりっぱなし。)

ただし USB メモリから起動する場合は Zebedee は不適

なぜなら Windows は起動したバイナリファイルをロックしてしまうから。terminal からは detach されるが Windows が放してくれないので、タスクマネージャから zebedee のプロセスを殺すか、Windows をログオフあるいはシャットダウンしない限り USB メモリを抜けなくなる。まぁそういうもんだと思っていればいいかもしれないが、すぐに抜きたい場合もあるでしょうし、みんなが「プロセス」なんてものを意識しなきゃいけないってのはちょっとハードル高いんじゃないかと。

PortForwarder みたいな GUI が Zebedee にもあればいいんだけど、そういうものはないので。。。

Windows の GUI プログラミングはできないので誰か作ってくんないかなぁ。

説教講座さらに統合

Photo は Enjoying Multimedia に統合しよう。

About

例によって個人のなんちゃらです