Windows2000(w2k)上のcoLinux(debian)に、w-zero3[es]からPocketPuTTYでssh接続してみる

とてつもなく長ったらしい記事タイトルになりました。
っつーか、だいぶ回りくどい事をしてるので、記事の需要があるのかどうか…。

まずは通常通りにcoLinuxのインストール。
ネットワーク構成はTAPで。経路としては

ルーター(192.168.1.1) - w2k(192.168.1.2) - coLinux(192.168.0.2)

とします。もしw2kマシン上に、パーソナルファイヤーウォールが動いている環境なら、192.168.0.2をTrusted Area扱いにしてルールを組むか、片っ端から必要なポート設定を書いてください。

colinux側での作業に移ります。

とりあえず最初に、シャドーパスワードモードにする為、
# pwconv
と唱えておきます。
これで/etc/passwdが/etc/shadowに置かれ、passwd自体が影になるそうです?(気休め)

# editor /etc/network/interfaces
で、
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 192.168.0.2 ## ここがcoLinuxのアドレスになる
netmask 255.255.255.0
gateway 192.168.0.1 ## w2k上のTAPドライバのアドレス
を記述し、保存。

# editor /etc/resolv.conf
nameserver 192.168.1.1 ## ルーター(DNSサーバ)のアドレス

# editor /etc/hosts
192.168.0.2 ## colinuxアドレス
127.0.0.1

んで最後に
# /etc/init.d/networking restart
と唱えて設定反映。

# ping www.google.co.jp
とかやって、名前解決とPingが通る事を確認。

通ったら、
# editor /etc/apt/sources.list
deb http://security.debian.org/ stable/updates main
deb http://ftp.jp.debian.org/debian/ stable-proposed-updates main non-free contrib
deb http://ftp.debian.or.jp/debian-jp/ stable-jp main non-free contrib
deb http://ftp.jp.debian.org/debian/ stable main non-free contrib
上記を追記して保存。

# apt-get update
# apt-get upgrade
などなど適当にやって、coLinux上のdebianを最新にする。

で、次にsshのインストール
# apt-get install ssh
で、完了。
SSH1のみにしか対応していないクライアントで接続する予定の人はここでちょっと気をつけないと後でちょっとめどいです。

debianのユーザを作成
# adduser hogehoge

あとちょこっと設定変更
# editor /etc/ssh/sshd_config
PermitRootLogin no
に書き換えて、SSHからのrootログインを弾く。

で、sshdの再起動の呪詛
# /etc/init.d/sshd restart

この段階で既にw2k上のPuTTYからは接続が出来るようになっているはず。
しかし、外部からは接続できないはずなので、またw2k上の作業に戻ります。

まずはルータでSSH用のポートを開ける。
ルーターに来たTCP22番ポートへの接続は、Windows2000マシン(192.168.1.2)に流す。

そして、
TCPTunnel for Win32
というプログラムがあるので、これを使うことで、w2kに来た22番宛ての接続をw2k上からcolinux(192.168.0.2)に引き渡してやることが出来ます。
こいつはWindowsのサービスとして稼動させることが出来てとっても便利。
使い方は、system32ディレクトリ直下に、tcptunnel.cfgというファイルを作る。

tcp 22 192.168.0.2 22

といった感じで、protocol、受けポート、流し先、流し先ポートの順で記述するだけ。
行末での改行を忘れずに。

と、色々試行錯誤しながらようやくアクセス出来た段階で思い出しながら書いているので、超適当&ナニカ重要な抜けがあるかもしれませんが、多分これくらいまとめて置けば、あとの所は躓いてもぐぐる先生が居れば短時間解決な感じだと思います。

いじょ。
…って、あー、あと、鍵の生成とか、なりすまし防止とかは各自で。
これだけじゃSSH使う意味が半分くらいしかないものね。