freeSSHd/Putty設定
某所に環境を作っている某システムの某環境(某多くてすみまへん)のVPNホストの納品が遅れそうで(というか発注したのが遅かっただけなんでふが。てへ)、開発チームへ環境をあけわたせる時期が2,3週間ほど延びてしまいそうになり、あーめんどくせーからグローバルIPのFireWallの穴Port3389あけとけばいいじゃんと、言ったらおこられらにょ。で、とりあえずソフトウェアVPNでも入れといて開発チームにあけわたすかと。Linux環境なら何度も経験があるので良いのだけど、今構築している某システムの某環境にはWindowsサーバしかなくて自宅で試験してみまひた。で、できたので今後のためにメモ。
VNCとfreeSSHdの使用方法に関してはブログとかで何件かあるのだけど、どれもこれも「できた」とかの感想とか、うわべの設定だけであまりいいものが見つけられなくて難儀しまひた・・・。今回は最終的にリモートデスクトップができる環境を構築しまふ。
今回試してみた環境
Host | おうちのADSL |
---|---|
OS | WindowsXP SP2 |
Software | freeSSHd,VNC Server |
Client | Emobile |
OS | WindowsXP SP3 |
Software | Putty,WinSCP,VNC Viewer,リモートデスクトップ |
鍵作成 | Linux・・・。 |
Host側の設定(1) るーたー
まずルーターの(うちの場合はADSLルータ)の適当なPortを1個だけあけまちゅ。どこでもいいでちゅ。22番をあけるのはどうかと思うので、サイコロを転がして適当にきめまちゅ。今回は2525をあけたこととしまちゅ。
ルータの設定でTCP2525をHost用マシンのIPとかMACアドレスに導くようにしておきまちゅ。
Host側の設定(2) sshd
Host用のWindows XP SP2にソフトをいれまちゅ。ますはsshdでふが、Cygwinでやりたかったのでふが、今回の某所にはCygwinを入れられないので freeSSHd をいれまふ。次へ次へ次へで適当に何も考えずにいれまふ。ちなみにバージョンは1.2.1でひた。
5箇所だけいぢりまふ。
1つ目
Usersタブで適当にユーザを追加しまふ。例としてuser01といれまひた。Shell、SFTP、Tunnel3つともチェックをつけときまふ。
2つ目
SSHタブの、Listen addressはプルダウンになっているので(昔のバージョンは違うらしい)、LANカードが1枚なら3つ選べるはずでふ。0.0.0.0か127.0.0.1か192なんとかのローカルIPの3つ。0.0.0.0か192なんとかを選びマフ。今回は192なんとかにしまひた。
Portはルータに穴をあけた2525を指定しまふ。
3つ目
Authenticationタブで公開鍵の場所を選びまふ。昔のバージョンはココに地雷があったらしいでふが、今のバージョンは改善されている様子。てきとうに公開鍵を入れるフォルダを作ってそこを指定しまふ。デフォルトの場所だと鍵とfreeSSHdのファイルでごちゃごちゃするので今回はkeysという箱を作ってそこに入れることにしまふ。きれいずきなの。
4つ目
Tunnelingタブで Allow local port forwarding にチェックをつけまふ。ポートフォワーディングばんざい。すてき。すばらしすぎ。なんでもできちゃう。いえい。
5つ目
SFTPタブで適当にファイルのやりとりフォルダを指定しまふ。りもですとかVNCでファイルのやりとりする方法をわしはしらん。ので、あとでWinSCPを使う用でふにょ。
Host側の設定(3) VNCサーバのいんすとーる
略
Host側の設定(4) Windowsのせってひ
WindowsファイアウォールでTCP2525をあけまふ。VNCの5900もあけまふ。リモートデスクトップの3389もあけまふ。3つ。
これでHost側は終わりなのでふが、なぜかfreeSSHdがうまくうごいてくれなかったので、Windowsおとくいの再起動をしておく。いらないかも。再起動後、freeSSHdのサービスがあがっているのを確認。右下にfreeSSHdのアイコンがいることも確認。で、放置ぷれい。
鍵の作成
Puttyのputtygenで鍵を作成してもいいのでふが、よーわかりまへんが難儀。どうしてもfreeSSHdから access denied ばかり。うーむ。うむうむ。仕方が無いのでUbuntuで鍵を作成してしまひた。これはPuttyだけでできるはずでふ。すばの使い方がおかしかっただけだとおもいまふ。
subaru@darjeeling:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/subaru/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/subaru/.ssh/id_rsa.
Your public key has been saved in /home/subaru/.ssh/id_rsa.pub.
The key fingerprint is:
7d:0*:e5:84:*0:96:25:*a:*6:3e:4c:6c:f0:*9:89:*b subaru@darjeeling
subaru@darjeeling:~$
Host側の設定(5) Windowsのせってひ
どっかに保存したid_rsa.pub(公開鍵)を、HostのWindowsにもっていきまふ。freeSSHdのユーザでuser01というのをさっき追加したので、ファイル名を拡張子なしでuser01としまふ。user01という名前の公開鍵。そやつを、(2)の3つ目で作った鍵用フォルダにいれておきまつ。
Client側の設定(1) Puttyで鍵のインポート
Puttyいれまふ。UTF-8 TeraTerm Pro でもいいのでふが、TeraTermはいつも使っているので、環境がおかしくなったら仕事ができないので、今回は別のソフトにしまひた。
PuTTYはPuTTYごった煮版をいれまひた。
ごった煮についているputtygen.exeを起動して、Ubuntuで作ったid_rsa(秘密鍵)をインポートしまふ。
既存の秘密鍵の読込をおして、フレーズをいれて、秘密鍵の保存でどっかに保存しまふ。
Client側の設定(2) Puttyのせってひ
1つ目
セッションカテゴリのホスト名orIPにHostのグローバルIPをいれまふ。グローバルIPでふ。グローバルIPね。おうちでやるならDDNSとかでHost名でもいいでふね。で、ポートはHostのルータとWindowsであけた2525でふ。
2つ目
SSH→認証カテゴリの認証のためのうんぬんで、さっきputtygen.exeでインポートして秘密鍵を指定しまふ。
3つめ
SSH→トンネルカテゴリでポートフォワードの設定をしまふ。ここ。ここよここ。ここが一番難儀したところ。これ。よく考えればすぐにわかるんだけど、ぐぐって見つけたブログをうのみにしちゃうからいかんのでふ。ここ。ここじゅうよう。ここはHostのローカルIPアドレスをいれないといけない。ここににずーっとHostのグローバルIPいれていて難儀したのでふ。まぁ、よく考えればわかるはずなんでふがね。。。トンネルの意味をちゃんと理解していないわたひがいけない。
で、今回はVNCとリモートデスクトップを使いたいので、源ポートに適当にVNC用に今回は3391を指定。5900でもいいのでふが、ClientPCを中継に使ったりとかいろいろとするだろうから、別のポートにしといたほうがいいかなーとか思ったり、思わなかったり。5900でもいいんだけど。で、送り先の欄にHostのWindowsのローカルIPをいれまふ・・・。うぐぅ。なので今回は 192.168.0.170:5900 としまふ。5900はHostで動いているVNC Serverのポートなので、それはちゃんと指定しないといけない。あとはりもです用に源ポートを3389ではない値をいれないといけない。Windows2008では3389でもいいようなことをききまひたが、XPなので3389ではない番号。今回は3390としまひた。送り先は 192.168.0.170:3389 とし、ここはちゃんとHostで動いているりもですdの、ポートをしていしてあげないといけなひ。
ここなぁ・・・。灯台下暗しだよなぁ・・・。すばだけか・・・。ぐぅ。
接続(1) PuTTY
Puttyでさっき保存した設定でつなぎまふ。
login as: user01
Authenticating with public key "imported-openssh-key"
Passphrase for key "imported-openssh-key":
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\WINDOWS\system32>
パスフレーズきかれるときの文言ださいね。ここは会社で使うときはputtygen.exeでインポートしたときに変えておこう・・・。で、Host側のDOSプロンプトが使用可能になったので、とりあえずこのままputtyは放置プレイ。
接続(3) りもです
Puttyで源ポートに指定した3390をつけて localhost:3391 とするとHostにつながりまふ。
SP3にしたらりもですもバージョンあがったなぁ。なんかこのログイン画面、何度みてもなれないなぁ。SP2までの時期がながかったからなぁ。うーん。ここなんか好きなJPG画像とかにしたいなぁ。