PuttyでSSHログイン&ポートフォワード

Download & Install_

まず、Puttyをダウンロードする。

「Download」をクリックし(日本のミラーがないため)「For Intel x86 putty.zip」をダウンロードする。必ずputty.zipをダウンロードすること(putty.zipは二つあるが上の方のIntel x86用のputty.zipをダウンロードする)。

ダウンロードしたら解凍して、そのフォルダをC:\puttyとして置く。

日本語化がしたい人は、hdk の自作ソフトの紹介から、executable files (PuTTY version 0.58 にパッチをあてた実行ファイル puttyjp.exe)をダウンロードし、C:\puttyに置く。

続いて、公開鍵をC:\putty/Puttygen.exeで作成する。

Puttyのインストールから鍵の作成まで、大阪市立大学学術情報総合センター情報処理教育システム:PuTTYの利用についてによくまとめられているのでここを参考に鍵を作成する。なお、パスフレーズは空にせず必ずいれること。

作成した公開鍵をFileServerとSshServerに転送する。本来ならば物理的手段(フロッピーディスクやCD-ROMなど)でFileServerとSshServerに渡すべきであるが、ここは不精をしてWinSCPで渡せば比較的安全である(WinSCPのインストールについて読む)。

無事、公開鍵をFileServerとSshServerに転送できたら、ホームディレクトリ~/で以下のことを行う。

もし、まだ~/.sshが作られていないならば

% ssh-keygen -t rsa
Initializing random number generator...
Generating p:  .++ (distance 66)
Generating q:  ..............................++ (distance 498)
Computing the keys...
Key generation complete.
Enter file in which to save the key (/home/user/.ssh/identity):
Enter passphrase:
Enter the same passphrase again:
Your identification has been saved in /home/user/.ssh/identity.
...

となるのでパスフレーズを入力し、~/.sshのディレクトリとついでにこれらのサーバの公開鍵と秘密鍵のペアを作成する。

その後、転送してきたPuttygen.exeで作った公開鍵(putty.pubというファイル名とする)をOpenSSHで使用できる公開鍵形式に変換し、~/.ssh/authorized_keysに付け加える。

% ssh-keygen -i -f putty.pub >> ~/.ssh/authorized_keys

これで、以後はファイアーウォール内のClientMachineからFileServerとSshServerに公開鍵ログインができる。

Puttyを用いた公開鍵ログインのやり方については大阪市立大学学術情報総合センター情報処理教育システム:PuTTYの利用について:Puttyの起動を参考のこと。

Puttyを用いたポートフォワード_

まず、ClientMachineから、SshServerまでのアクセスを設定し、その後ClientMachineからFileServerのアクセスを設定する。なお、

  • SshServerのIPアドレス:192.168.1.100
  • FileServerのIPアドレス:192.168.1.200

とする。

この画面で「ホスト名」部分に192.168.1.100を「保存されたセッション」の欄にdesk-top-to-SshServerと打ち込む。打ち込んだら、画面左の「キーボード」をクリックする。

もし、emacsを使うのであれば「Control-H」を選択する。

そうでなければ左側の「外観」をクリックする。

「フォントの設定」で好きなフォントを選ぶ。ディスプレイが大きいのであればフォントは大き目の方が見やすい。

続いて左側の「データ」を選ぶ。

「自動ログインのログイン名」欄にSshServerでのログイン名を入力する。 その後、左側の「認証」をクリック。

「認証のためのプライベートキーファイル」の欄でPuttygen.exeで作成した秘密鍵を選択する。C:\putty以下に.ppkという拡張子のファイルがあるはず。 次に、左側の「トンネル」をクリックする。

「源ポート」の欄に50025を入力し、送り先に192.168.1.200:22を入力する。そして、「追加」をクリックする。

そして、左側の「セッション」をクリックする。

「保存」をクリックする。これで、ClientMachineからSshServerへのアクセス設定終わり。実際にログインできるかどうかを試してみること。

続いて、ClientMachineからFileServerへのアクセス設定をする。

この画面で、先ほど保存した「desktop-to-SshServer」をクリックし、「読込」をクリックする。その後、「ホスト名」の欄にlocalhostと入力し、「ポート」の欄に50025、「保存されたセッション」の欄にFileServerと入力する。

そして、左側の「トンネル」をクリックする。

この画面で「フォワードされたポート」の欄に表示されている「192.168.1.200:22」を選択肢、「削除」を押す。その後、左側の「セッション」をクリックする。

「保存」をクリックする。これで、ClientMachineからFileServerへのアクセス設定終わり。

pagent.exeを用いたアクセス_

C:\putty\Pagent.exeを起動する(デスクトップにショートカットを作るか、起動時に動かすようにしておくと便利)「Add keys」で秘密鍵を選択&パスフレーズを入力する。こうしておくと、他のSSH利用のアプリケーション(Unison、WinSCP、Subversionなど)でパスフレーズを入力する必要がなくなる。

ポートフォワードを行う場合には、以下のようにする。

pagent.exeを立ち上げた後にアイコンを右クリックし、「Add keys」で秘密鍵を選択&パスフレーズを入力する。同じくアイコンを右クリックし「Seved Sessions」から「desktop-to-SshServer」を選択、起動する。

その後、ポートフォーワード経由で使いたいアプリケーションを起動して使う。