dreamedge.net

PuTTYで公開鍵認証サーバに接続する(with X11 forwarding)

2008-10-05T14:33:00+0000

自宅のサーバのsshdは公開鍵認証にしているのため,これまでWindowsから入る時はいつもCygwin経由でログインしていた.けど最近Cygwinのアンインストール&Xmingへの移行を計画しているため,PuTTY経由での方法を調べてみた.

1. OpenSSHの鍵をPuTTY用に変換する

たいていのサーバはOpenSSHだと思うが,PuTTYではOpenSSH形式の秘密鍵はそのままでは使用できない.ので,puttygen.exe(PuTTY Key Generator)を用いてOpenSSH形式の秘密鍵をPuTTY形式に変換する.

手順としては,以下の通り.

・読込ボタンをおして開いたダイアログで,ファイルの種類を「全てのファイル」にしてから,OpenSSHで使っている秘密鍵ファイルを選択して読み込む.

・秘密鍵のパスフレーズを聞かれるので,入力してOKを押す.

・ウィンドウの下の方にあるラジオボタンで,対応する鍵の種類を選択する.

・「秘密鍵の保存」ボタンを押して好きな場所に保存する.

ちなみにPuTTY用の秘密鍵ファイルはppkという拡張子になる.

2. PuTTYから接続する

まずは鍵がちゃんと働くか,PuTTYを使って確認.

・PuTTYを起動すると開く接続設定画面で,左側のカテゴリから「接続→SSH→認証」を選択する.

・「認証のためのプライベートキーファイル」欄の「参照」ボタンを押して,先ほど作成した秘密鍵ファイルを選択する.

・あとは通常通りの操作でOK.

3. Xmingから接続する

XLaunchからXmingを起動して接続しようとすると,秘密鍵を設定する項目がなく接続できない.それを回避するためにPagent(PuTTY authentication agent – OpenSSHにおけるssh-agentに相当)を用いる.

・PuTTYと同じフォルダにインストールされている,pageant.exeを起動する.

・するとpagentのアイコンがタスクバーに表示されるので,右クリックしてメニューから「鍵の追加」を選択する.

・開いたダイアログでPuTTY用の秘密鍵ファイルを選択すると,パスフレーズを聞かれるので入力する.

(実はここまでの操作はppkファイルをダブルクリックすれば一発でできる)

・普通にXLaunchを開き,接続先を指定するところで,「Using PuTTY」を選んでパスワード欄を空にする.すると自動的にpagentを用いて接続する.