« Vine で named(bind) | メイン | Wanderlust 小ネタ »

2006年02月20日

PPP over SSH(Vine がサーバ/Win2K がクライアント) [ カテゴリ : memo - VPN over SSH ]

まぁ、出先でサーバのファイルを秀丸で編集したいとかいうときのために。

もぐらプロジェクトの設定を Vine でやったときのメモ。

もぐらプロジェクトの説明が微妙に実際と違う部分とかがある。
たとえば、インストール時に自分でデバイスの追加をやらなくても、
たぶんインストーラが勝手にネットワークアダプタデバイスを登録してくれるのだが、
手動でやれとか、そのへん。


なお、複数から同時に接続したい場合は
http://om.pizzica.to/archives/2006/03/ppp_over_ssh.html
も参照のこと。

クライアント側設定1:
もぐらの説明 http://www.kmc.gr.jp/proj/vpn/install-w2k-img.html
を見ながらやるのがいいんだが、項目3を先にやれば、項目2のドライバのインストールはやらなくていい。

1.
http://www.kmc.gr.jp/proj/vpn/release/PPPoverSSHTool-0.3-pre2.zip
を落とし、展開し、msi ファイルを開いて installer まかせ。

msi ファイルが関連づけがなくて開けない場合は、Windows Installer 2.0 ってのが必要。
http://support.microsoft.com/default.aspx?scid=kb;ja;292539
で手に入るそうで。

2.ドライバがインストールされていることを確認し、作業続行。
要するに、もぐらの説明の2-1~2-16をすっとばして、2-17に行く。
インストールされていなければ、2-1からの手順をやればいいのだろう。

3.鍵準備
もぐらの説明の4をやる。

ここで、ダイアログを閉じる前に「Public key for pasting into OpenSSH authorized_keys file」って欄に書いてある意味不明の文字列はコピーしておく。
後でサーバ側の ~/.ssh/authorized_keys に書いておかないといけないので。


鍵を作るときに、使う ssh protocol の version が決まるので、注意。
普通に Vine でやるなら、SSH2 の DSA鍵とかでいいんじゃないかと。

でも、環境によっては、SSH1 の RSA でだけうまくいったりする不思議。
後でうまくいかないときに、sshd の認証がうまくいってない場合は、
鍵かえてみるといいかも。

ここで、クライアント側は一休み。サーバ側設定に入る。

Vine 側PPP over SSH

1.pppd 入れる。ppp パッケージに入ってるので
# apt-get install ppp

2.sudo 入ってないなら入れる(いつも入れなくても入ってる気がする)
# apt-get install sudo

3.http://www.kmc.gr.jp/proj/vpn/server-setting.html
に従って設定するw

さきほど鍵作ったときにコピっておいた情報を使いますね。

4./etc/ppp/pap-secret で PPPパスワード設定
username * "password"
これは、Windows 側のダイアルアップ画面での username/password になる。
"" はこのファイルでは記述するが、パスワードはその内側部分になる。

クライアント側設定2
もぐらの説明 http://www.kmc.gr.jp/proj/vpn/install-w2k-img.html
の、項目5以降をやる。

サーバ側追加設定
お好みで、 Vine 側で samba とか走らせて、/etc/samba/smb.conf の hosts allow でIPアドレス制限かけるなり、iptables で制限かけるなりあれやこれやしてやるとかして楽しむ。

なお、ssh での接続は vpnacct 権限で行われるが、
そこを経由して起動した pppd で IP connection は別に vpnacct と関係ないものなので、
ppp パスワードを共有してかまわないのなら、vpnacct は1コあればいい。
たとえば、samba で二人がつなぐ場合は、それぞれ Windows ファイル共有のユーザー名、パスワードが異なるので、二人が vpnacct で PPPoverSSH していたとしても、samba に渡るユーザーは別々になる等々。

samba 以外はどうかっつーと、、、、、SSH で port forwarding すればいいと思うけど、
local port で listen とかやりたくないなら、まぁ好きにやればいいかと。

Windows 側で、コマンドプロンプトで route PRINT とかやって、ルーティング把握してないと混乱するかもね。


追記。2006/3/7
Windows から接続するときに、ループバック接続がどったらってエラーがでることもあるが、しつこくやると繋がる。
しつこくやるのがイヤな場合、/dev/pts/ の中のファイルが足りないのが問題らしいので、
ダミーで ssh 接続を同時に3つくらい繋いで(TeraTerm とかで)、すぐ3つを閉じてからやるとうまくいったりとか。
(/dev/pts/ のファイルが増えて、減る前に繋ぐ。いつ減ってるのかはまだわかんない)

もうちょい本質的な修正方法もありそうなもんだが、今は不明。
そもそも TeraTerm でやると増えて、それ以外だと増えないというのはなんでなんだろ~。

投稿者 JK : 2006年02月20日 22:33

トラックバック

このエントリーのトラックバックURL:
http://om.pizzica.to/mt-tb.cgi/52