トップ «前日 最新 翌日» 編集
RSS feed

ただのにっき


2002-10-16(水) [長年日記]

Zebedee(3)

昨日の続きをする。といっても、サーバへの仕込みは夕べのうちにやっておいたので、そのメモ。

ようするにhttpd(443)で待ち受けて、ssh(22)へトンネルするように設定フィルを書けばいい。Windows版のZebedeeで.zbdという拡張子が割り当てられていたのにヒントを得て、こんな感じのファイル、zebedeedを書く。実行属性を付ければそのまま実行できる。

#!/usr/local/bin/zebedee -f 
server true
serverport https
redirect ssh
logfile '/var/log/zebedee.log'
target localhost

HTTPS proxyを通さない場合は、クライアントから以下のように直接443につなげられればOKである。

client% zebedee -d -e 'ssh -p %d localhost' -T 443 server:ssh
zebedee(2875/1024):  waiting for client connection
zebedee(2875/1024):  accepted connection from 127.0.0.1
zebedee(2875/1024):  tunnel established to server port 22
 
server% _

stunnel

トンネリング実験第3弾はstunnelなんだけど……やっとautoconf対応のが出てきたよ(笑)。stoneもZebedeeも、Makefileしか入ってなかったからなー。

というわけで簡単にインストールまでできたのだが、こんどは日本語のいい教科書がWeb上で発見できなかった。今日はここまで(笑)。もっとも、SSLだとまずいかも、という昨日の考察を踏まえれば、stoneもstunnelも使わないのが得策か。

それにしても、こないだのstoneによるトンネリング成功でやめときゃぁいいのに、すっかりトンネル掘りが楽しくなって、いわゆる「手段の目的化」状態である。Htunの存在も教えてもらったし(そう言えば名前だけは聞いたことがある)、しばらく楽しめそうな気配である。

Zebedee(4)

さて、防火壁の内側で接続する。こっちも設定ファイルを書くことにしよう。HTTP/HTTPS proxyへのトンネルを掘っているstoneはそのままにして、SSL化を担当している末端のstoneをkill。そして以下のzebedee-clientを実行する。

#!/usr/local/bin/zebedee -f
include '/home/sho/.zebedee' # private key
server false
localsource true
logfile '/home/sho/var/log/zebedee.log'
serverhost localhost
serverport 10443
tunnel 10022:localhost:ssh

なんか、zebedeeの-dオプションの意味が逆転しているような気がするなぁ。まぁいいや、これでsshできるようになる。

% ssh -p 10022 localhost

Zebedee(5)

特定の一ヶ所へのトンネルは掘れたけど、日常的に使っている外部ホストは五本の指では足らない。特にSourceForgeのCVSは、使えると嬉しい。こいつらへのトンネルも欲しいところだが、あいにくおれは、これらのホストのrootではない。

しかし、Zebedeeは(というかたいていのトンネリングソフトは?)そこからさらに別のホストをターゲットにすることができるので、これを設定しよう。「server」のzebedeedはこんな感じに変更。

#!/usr/local/bin/zebedee -f 
server true
serverport https
redirect ssh
logfile '/var/log/zebedee.log'
target localhost:ssh
target server2:ssh

「server2」への接続要求は、「server」のZebedeeからさらにコネクションを延ばされる。「client」のzebedee-clientはこうする。

#!/usr/local/bin/zebedee -f
include '/home/sho/.zebedee' # private key
server false
localsource true
logfile '/home/sho/var/log/zebedee.log'
serverhost localhost
serverport 10443
tunnel 10022:localhost:ssh
tunnel 10122:server2:ssh

10022に接続するとlocalhost(server)のsshに、10122に接続するとserver2のsshにつながる。図にするとこんな感じか。ちなみにフォントには、いま話題のみかちゃんフォントを使用(意味なし)。

Zebedeeマルチターゲットの図

めでたしめでたし……と言いたいところなんだけど、残念ながら上の設定はまだ動いていない。serverへの接続はうまくいくんだが、server2へsshしようとすると、server2の名前が解決できない(社内LAN上なので外のDNSが引けない)。まぁ、~/.ssh/known_hostsに毎回異なる「localhost」を追加しようとするのも困るので、ここは/etc/hostsでserver、server2ともに127.0.0.1というIPアドレスを持つことにしてしまう。

これでいいだろ、と思ってリトライしてみたら、今度はこんな風になった。

% ssh server2
Permission denied (publickey,keyboard-interactive).

メッセージをGoogleしてみるとssh2での接続に失敗した時に出るそうなのでssh1にしてみるも、「Permission denied.」となって同様。他の解決策には「/dev/ttyに書き込み権限がないのでは」なんてのがあったけど、いったいどこのttyの話やら(笑)。

うーん。わからん。頭を冷やして考え直そう。

本日のツッコミ(全7件) [ツッコミを入れる]
たむら (2002-10-16(水) 12:06)

https://www.netsecurity.ne.jp/article/3/2744.html とか、http://nao.tdiary.net/20021012.html#p03
 とか。
stunnel-4.00 は、コマンドラインオプションがほとんど使えないんだけど作り方間違えたかな。
ちなみに POP over SSL で使えるのは確認してみたり。

ただただし (2002-10-16(水) 13:29)

そこは見たんだけど、凝った使い方してないから、今回のような複雑なトンネリングをする方法がわからなくって(汗

(ふ) (2002-10-16(水) 17:20)

わたしのは over HTTPじゃないので参考にならないかと。

ほそのひでとも (2002-10-17(木) 02:31)

stunnel-4.0はstunnel-3.22以前とはほとんど別ものです。> たむらさん

ほそのひでとも (2002-10-17(木) 02:32)

たださんに於いてはぜひsslwrapも試して頂いてSSL中継プログラム全制覇をお願いしたい(笑)。

はんばあぐ (2002-10-17(木) 10:20)

みかちゃんフォントのリンクがおかしいような気がするのですが。

ただただし (2002-10-17(木) 10:24)

ありゃ、ホントだ。直しました。


トップ «前日 最新 翌日» 編集
RSS feed