トップ 最新 追記
RSS feed

ただのにっき


2002-10-17(木) [長年日記]

tDiary.org

typoじゃなくて、本当に「.org」。

tDiary.orgは取られちゃってたって書いたら、親切な人が「今は.orgも.comも空いてる」という情報をメールで教えてくれたので(ツッコミにすると先に取られかねないという配慮)、「そっかー。じゃあ.orgを取るかどうか、しばらく悩むかな。.comはいらんから」なんて考えていた。で、のんびりしてたら、別の人のツッコミでリークされてしまったので(笑)、慌てて取ったという次第。ま、いまどきドメイン取得なんて悩むものでもないか。

いちおう、DNSとWWW(工事中)、メールの受信だけはできるようになっている。地域によってはまだ名前は引けないかもしれない。つーかうちからも引けてないけどそろそろ引けるようになってきたもよう。

DNSはzoneファイルを追加しただけ、WWWはmod_rewriteを使った名前ベースのヴァーチャルホストを追加しただけ、メールは/etc/postfix/main.cfのmydestinationにドメインを追加しただけ(つまり.netとユーザ重複)という、超簡単ヴァーチャルドメインである。

ぼちぼち、「tDiary本体とその開発に関する情報はtDiary.org」「レンタル日記サービス専門のtDiary.Net」という棲み分けをさせていこうかと。

StepKeeper

完全に死亡した模様。

FlashROMが飛んだと予想して、そういえばハギラワSYSCOMにアップデータがあったから、あれを入れてみようと思って探してきた。リンクが切れていたので(わざとか?)、他のデータの置き場所から推測してGETしてきた、怪しげなシロモノになってしまったが。

で、HotSyncしたら途中でFatal Errorになるし。しかもリセットしてもboot途中で同じものが出続けるという、恐ろしい状況に。なんとか「↑」を押しながらリセットすることで回復したけど、アップデータを実行すると死んでしまうので、どうにもならず。

つーわけで、これにて万歩計生活は終了。Walking styleなんて買わないよ。ま、だいたい1日にどれくらい運動しているかがわかったので、もういいだろうという感じ。いや、運動量は非常に少ないことがわかったので、あんまりよくはないんだけど。

tDiary: HEAD

reloadすると空白になってしまうという問題。どうもうちの日記でも起きていたみたいだ。しかも今日、今日のなんでやねんでも発生したのを目撃。これらとこま犬ライブラリの共通点は……こないだのREDIRECT_URL対応だなぁ、やっぱり。

いろいろ試してみると、「Status: 200 OK」を返すかどうか(?)が影響しているみたいだ。そんなわけで、REDIRECT_URLの判定をキツくして、かつその場合にのみStatusを明示するようにしてみた。なんだか気持ちが悪いけど、これでなんとかなっているみたい……?

tDiary: レンタルなサイト

仲間内とのことですが、日記の方を読むとCeleron 446MHzだそうで。それなら(他にあやしいことをしていても)かなりいけまっせ。ちなみにtDiary.NetはPenIII 500MHz×2で、500人以上の日記をさばいているので。一人当たり2MHzってとこで(意味不明)。

と、煽ってもしょうがいないのだけど(笑)、家族・知人・友人にtDiaryを貸し出してくれているサイトというのはけっこう多くて、アンテナに含まれているのを機械的に抜き出してみると、www.nga.jp(27)、www.seflish-gene.org(9)、www.hiemalis.org/~boozilla/(8)、yamaguchi.sytes.net(5)、www.sugr.com(4)、www.sary.net(4)、sodium.dnsalias.com(4)などなど。複数の日記を、セキュアに運営可能なように作っておいてよかったよ。

そう言えば以前、(tDiary.Net以外でも)どこかでホスティングしないかなぁ、とつぶやいたら、「やりたい」(?)というメールをくれた人がいたんだけど、その後の返事に音沙汰がない。どうなったんだろか。

tDiary: 1.4.3.20021017

久々に1.4系を更新。1.4.4候補。

といっても変更点は、「編集」時の上書き事故をなくしたのと、「YYYYMMDD.html」形式サポートのためのコード挿入程度。

本日のツッコミ(全8件) [ツッコミを入れる]

Before...

ただただし [いやぁ、正直言って、よくわからんです(^^; 「動いたからいいや」状態(笑)]

ほそのひでとも [ちゃんとつくるまではtDiary.Netにリダイレクトしてもいいのでは? > tDiary.Org]

ただただし [うーん、たしかにそれもアリだなぁ。 #なにしろいつ手をつけられるかわからんし(笑)]

しんちゃん [とりあえず Rwiki でも置いて誰かが勝手に作ってくれるのを期待する(笑)]

Nana [誰かが何かをしかけない限り何も変わんないんじゃないのかな?>しんちゃん]

Y田 [助言ありがとうございます。1人あたり2MHzですか。遠い昔MZ-80K2を使っていた頃を思い出します(笑)。日記のセ..]


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件) [ツッコミを入れる]

Before...

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

(ふ) [わたしのは over HTTPじゃないので参考にならないかと。]

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

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

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

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


2002-10-15(火) [長年日記]

Zebedee

トンネリング実験第二弾はZebedee

stoneはSSLに化けてhttpsの上に乗っかることができたので、職場のproxyを乗り越えるのに使ったが、ZebedeeはSSLを使っているわけではない(?)ので、この手のごまかし用途には向かない気がする(のだけれど、実のところはどうだろう?)。

そこで、職場内のLinuxホストにWindowsクライアントからtelnetで乗り込むところをトンネル化することにした。

このLinuxホストは、telnet接続をlocalhostからしか認めていない。つまりトンネリング前提の設定なのだが、今まではsshを使ったトンネリングを設定していた。このsshを使った方式の難点は、(たとえssh-agentを使うにしても)必ず一度はパスフレーズを入力しなければならない点である。Zebedeeでここを簡略化しよう。

インストール方法は省略。このへんを参考にした。利用するライブラリが決め打ちなので、素直に従った。Windows版はバイナリ持ってきて終わり。

単にトンネリングするだけなら簡単すぎなので、ちゃんと特定クライアントからのアクセスだけを許可するようにしないとね。まずはクライアントで秘密鍵(client.key)とそのfinger printを生成。Cygwin上でzshを使っているので区別がつかないが、Windowsである。

client% zebedee -p > client.key
client% zebedee -P -f client.key
ce49ea463b5a438ce260c07197cb0434e738a008 client

表示されたfinger printは、server上の/etc/zebedee/server.idにでも入れておこう。続いてサーバの設定と起動。

server% cat /etc/zebedee/server.conf
server true
redirect telnet
checkidfile '/etc/zebedee/server.id'
 
server% zebedee -f /etc/zebedee/server.conf

あとは、クライアント側を起動して、telnetでつないでみる。

client% zebedee -f client.key 23:server:23
client% telnet localhost 23
 
Kondara MNU/Linux 2000 (Sushi)
Kernel 2.2.16-5k on an i686
login:

「-f client.key」を指定しないと接続できないことも確認したから、これでOKだろう。サーバ側のlisten portは1024より大きな数字なので一般ユーザでも実行できるけど、いちおうzebedeeというユーザを作ってその権限で動くようにしておいた。

うーん、確かに簡単だ。外部とのトンネルにも使ってみたいが……。

tDiary: 本日のハンティング

Masaki's irresiponsible daysを捕獲。

Rava

わははは、すげー。pure RubyのJavaVMだって〜。

こういうの見ると、感動しちゃうなー。この上でJRuby動かすとか、夢は広がるよねっ(広がりません)。

Zebedee(2)

「ごまかし用途には向かないかも」と書いたけど、よく考えてみるとSSLを使っている場合、proxy管理者がふと疑問に思ってそのサイトにHTTPSでアクセスしたら、その先がSSHにトンネルされてるなんてことはモロわかりなのだ。

% w3m -dump_head https://server/
SSH-1.99-OpenSSH_3.4p1
Protocol mismatch.

てね。

ということは、下手な文字列を返してこない、しかも公開暗号鍵を使って見知らぬホストとの通信はいっさい行わない、Zebedeeを使った方が安心なんじゃねーの?

だとすると、こないだの図にある両端のstoneはZebedeeに置き換えた方がいいということになる。うーん、奥が深い。

本日のツッコミ(全2件) [ツッコミを入れる]

arton [なるほど。参考になります。]

Kenji [ssh の鍵にパスフレーズなしなら?]


トップ 最新 追記
RSS feed