自宅のサーバの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を用いて接続する.