|
PuTTYgenの利用について |
||
|
ここでは、WinSCP3等で公開鍵認証をするための準備として、PuTTYgenを利用してキーペア(公開鍵、秘密鍵)を作成してみましょう。 PuTTYgenで作成できる鍵の種類は、SSH1用(RSA1)とSSH2用(RSA)およびSSH2用(DSA)です。
WinSCP3はSSH2プロトコルに対応しているので、SSH1より安全なSSH2(RSA、DSA)の利用を強くお勧めします。
なお、SSH2の鍵には統一規格がないため、いくつかの鍵の種類があります。 代表的な商用系SSH(ssh.com)やフリーソフト系SSH(OpenSSH)も各々異なりますが、PuTTYgenもまた独自の書式で鍵を利用しています。 このため、生成した鍵は使用する環境に合わせて、鍵の変換をする必要があります。
それでは、PuTTYgenを利用したSSH2用(RSA)およびSSH2用(DSA)のキーペア生成とその利用について以下に例を示します。 (SSH1用(RSA1)の利用も後述します。)
|
||
|
1 |
PuTTYgenによるSSH2(RSA)のキーペア作成と 利用について |
|
| (1) |
WinSCP3と一緒にインストールしたPuTTYgenを起動してみましょう。
Windowsの[スタート]ボタン
|
|
| (2) | 右図のような[PuTTY key
Generator]ウィンドウが表示されます。 ウィンドウ下部の[Parameters]オプションで鍵のタイプを選択できます。 ここでは、 |
|
| (3) |
キーペアの生成が始まりますが、乱数の種(Random seed)を発生させて鍵を作るため、マウスを1分間程度適当に動かし続けてください。 右図のように緑色のインジケータで鍵生成の進捗状況が表示されます。 全て緑色になるまでマウスを動かし続けてください。 |
|
| (4) |
鍵の生成が完了すると右図のようなウィンドウが表示されます。 生成した秘密鍵はパスフレーズで暗号化されていないため、このまま利用するには安全ではありません。 秘密鍵をパスフレーズで暗号化するために、[Key]オプションの[Key passphrase]欄にパスフレーズを指定してください。 確認のため、再度、[Confirm passphrase]欄に同じパスフレーズを指定します。
|
|
| (5) |
PuTTYgen用の秘密鍵をファイルに保存するために、[Actions]オプションの[Save private key]ボタンを押します。 |
![]() |
| (6) |
右図のように秘密鍵の保存先を指定します。 保存場所もファイル名も任意ですが、秘密鍵は他人に参照されないような場所を選択してください。
この例では、[ファイル名]欄に( id_rsa )と指定しました。 ここで保存する秘密鍵は、PuTTY独自の鍵なので、[ファイルの種類]欄は、[PuTTY Private Key Files]を選択しておきます。 (ファイルの拡張子が ppk となるので、この例では、id_rsa.ppkとして保存されます。) ファイル名を指定できたら、[保存]ボタンで実際にファイルに保存します。 |
![]() |
| (7) |
次に、公開鍵を保存します。
PuTTYgen独自の書式で作成した公開鍵は[Save public key]ボタンで保存できますが、最初に説明したとおり、サーバー側はOpenSSHなので、これを使用しません。 その代わりに、[Key]オプションの[Public key for pasting into OpenSSH authorized_keys2 file]欄に表示されている公開鍵を利用します。
マウスでこの公開鍵を全て選択して右図のように反転表示した状態で、その場でマウスの右ボタンを押し、[コピー]を選択してパソコンのバッファに一時的に記憶します。 |
![]() |
| (8) |
パソコンのバッファに記憶した公開鍵を、パソコンのメモ帳にペースト(貼り付け)し、ファイル名を付けて保存します。
|
![]() ![]() |
| (9) |
これでキーペアの作成ができました。 あとは、公開鍵をサーバ側に転送すれば完了です。
まずは、WinSCP3のアイコン
前回保存しておいた設定(この例では、sakura)がある場合は、右図のように[Stored sessions]オプションで接続先を選択して、[Login]ボタンを押してサーバにログインします。
|
![]() ![]() |
| (10) |
WinSCP3でログインしたら、公開鍵の保存先ディレクトリ( ~/.ssh )を作成します。(既にある場合は、次に進んでください。)
まず、[Home Directory]ボタン (ログイン直後はホームディレクトリにいるはずなので、確認だけでよい。)
次に、メニューバーの[Commands]で[Create directory..]を選択します。 右下図のように新規に作成するディレクトリ名( .ssh )を指定して[OK]ボタンで作成します。
|
![]() ![]() |
| (11) | 作成した( .ssh )ディレクトリをダブルクリックして、.sshディレクトリの中に移動します。 |
![]() |
| (12) |
公開鍵ファイル(この例では、id_rsa.pub )をサーバ側へコピーします。 公開鍵ファイルをドラッグして、.sshディレクトリに移動しておいたWinSCP3のウィンドウ中にドロップするだけでコピーできます。
|
![]() |
| (13) |
最後に[Open Terminal]ボタン
[Close]ボタンで[Open Terminal]ウィンドウを閉じます。 |
![]() |
| (14) |
WinSCP3のウィンドウに戻ると、前述のコマンド実行により id_rsa.pubの内容がauthorized_keysファイルに追加(この場合は新規作成)されています。
|
![]() |
| (15) |
これでキーペアの準備は完了です。 あとは、実際にWinSCP3でSSH2(RSA)の公開鍵認証でサーバにログインしてみましょう。 まずは、WinSCP3のアイコン
SSH2を利用するには、右図の[Login]ダイアログボックスの[SSH]オプションで[Protocol
options]欄の[Preferred
SSH protocol version]で利用するSSHのプロトコルを |
![]() |
| (16) |
前回保存しておいた設定(この例では、sakura)がある場合は、右図のように[Stored sessions]オプションで接続先を選択して、[Load]ボタンを押して設定内容を取り込みます。
|
![]() |
| (17) |
[Password]欄の入力を削除すると、右図のように[Private key file]欄の指定が可能になります。
[ファイル参照]ボタン |
![]() |
| (18) |
右図のように[ファイル名]欄に秘密鍵ファイル名を指定して[開く]ボタンを押します。(この例では、id_rsa.ppk を指定したことになります。)
|
![]() |
| (19) | 秘密鍵の指定ができたら [Login]ボタンで実際にSSH2)RSA)の公開鍵認証でサーバに接続してみましょう。 |
![]() |
| (20) |
指定した秘密鍵のパスフレーズを聞いてくるので、入力したら[OK]ボタンを押します。 |
![]() |
| (21) |
公開鍵認証に成功すると、パスワード認証と同様にWinSCP3のウィンドウが現れます。 |
![]() |
| (22) |
あとは、この接続を[Save
session]ボタン (ここでは、[sakura-ssh2-rsa]という名前で登録しておきます。) |
![]() |
|
2 |
PuTTYgenによるSSH2(DSA)のキーペア作成と利用について |
|
|
SSH2(DSA)の作成要領は、前述のSSH2(RSA)のキーペア作成とほぼ同様の操作で行えます。 異なる点は以下のとおりです。
以下に簡単に流れを説明いたします。 |
||
| (1) |
PuTTYgenを起動し、 右図の[PuTTY key
Generator]ウィンドウ下部の[Parameters]オプションで鍵のタイプを
あとは、[Generate]ボタンを押してキーペアを作成します。 (鍵が生成するまで、マウスを動かし続けて、乱数の種を与えてください。) |
![]() |
| (2) |
生成した秘密鍵にパスフレーズで暗号化するために、[Key passphrase]欄と[Confirm passphrase]欄に同じパスフレーズを指定します。
[Save private key]ボタンを押して、PuTTYgen用のSSH2(DSA)秘密鍵をファイルに保存します。 (ファイル名も保存先も任意です。ここでは、id_dsa.ppkで保存したことにします。)
|
![]() |
| (3) |
SSH2(DSA)用の公開鍵も、SSH2(RSA)と同様に [Public key for pasting into OpenSSH authorized_keys2 file]欄に表示されているOpenSSH用の公開鍵を利用します。 マウスでこの公開鍵を全て選択し て右図のように反転表示した状態で、その場でマウスの右ボタンを押し、[コピー]を選択し てパソコンのバッファに一時的に記憶し、メモ帳に貼り付けて保存してください。 (ファイル名も保存先も任意です。ここでは、id_dsa.pubで保存したことにします。)
|
![]() |
| (4) |
あとは、SSH2(RSA)の場合と同様に、WinSCP3を起動してパスワード認証または、RSA公開鍵認証等でサーバにログインします。 作成したOpenSSH用の公開鍵をサーバ側の(~/.ssh)ディレクトリにコピー(ファイル転送)します。 最後に[Open Terminal]ボタン [Close]ボタンで[Open Terminal]ウィンドウを閉じます。 |
![]() |
| (5) |
以上で、SSH2(DSA)の鍵の準備は完了しました。 WinSCP3を起動して作成した秘密鍵を指定し、SSH2(DSA)公開鍵認証をお試しください。
|
![]() ![]() |
| 3 |
PuTTYgenによるSSH1(RSA)のキーペア作成とTTSSHでの利用について |
|
|
SSH1(RSA)の作成要領は、前述のSSH2(RSAやDSA)のキーペア作成とほぼ同様の操作で行えます。 異なる点は以下のとおりです。
以下に簡単に流れを説明いたします。
|
||
| (1) |
PuTTYgenを起動し、右図の[PuTTY key Generator]ウィンドウ下部の[Parameters]オプションで鍵のタイプを
あとは、[Generate]ボタンを押してキーペアを作成 します。 (鍵が生成するまで、マウスを動かし続けて、乱数の種を与えてください。)
生成した秘密鍵にパスフレーズで暗号化するために、[Key passphrase]欄と[Confirm passphrase]欄に同じパスフレーズを指定します。
[Save public key]ボタンを押して、SSh1(RSA)公開鍵をファイルに保存します。 (ファイル名も保存先も任意です。ここでは、公開鍵ファイル名を identity.pub で保存したことにします。)
同様にPuTTYgen用のSSH1(RSA)秘密鍵を[Save private key]ボタンを押して、ファイルに保存します。 (ファイル名も保存先も任意です。ここでは、秘密鍵ファイル名をid_dsa.ppkで保存したことにします。)
|
![]() |
| (2) |
あとは、公開鍵をサーバ側にコピーするため、WinSCP3を起動してパスワード認証等でサーバにログインします。 作成した公開鍵(identity.pub)をサーバ側の(~/.ssh)ディレクトリにコピー(ファイル転送)します。 最後に[Open Terminal]ボタン コマンド( cat identity.pub >> authorized_keys )を入力して、[Execute]ボタンでコマンド実行します。 [Close]ボタンで[Open Terminal]ウィンドウを閉じます。 |
|
| (3) |
以上で、SSH1(RSA)の鍵の準備は完了しました。 TTSSH等で作成した秘密鍵を指定し、公開鍵認証をお試しください。 まず、TTSSHのアイコン [Host]欄でホストのアドレスを指定し、[Service]欄でSSHを選択して、[OK]ボタンを押します。 |
|
| (4) |
右図のように、[User name]欄に自分のログイン名を指定します。 [Use RSA key to login]欄の[Private key file]ボタンを押して、SSH1(RSA)秘密鍵ファイル(この例では、identity.ppk) の場所を指定します。
[Passphrase]欄に鍵作成時に指定したパスフレーズを入力します。
すべて指定したら、[OK]ボタンでログインします。 |
|
| (5) |
鍵の指定とパスフレーズが正しければ、公開鍵認証に成功し右図のようなログイン画面が現れます。
|
![]() |
| (6) |
この設定を保存しておくと、次回から設定を省略でき簡単に利用できるようになります。 まず、TTSSHのメニューバーの[Setup]の[SSH Authentication...]を選択します。 ここで、[Use RSA key to login]にチェックをして、[Privete Key file]ボタンを押して、秘密鍵ファイルを指定します。[OK]ボタンで元に戻ります。 必要に応じてメニューバーの[Setup]から各種設定を修正してください。
|
![]() |
| (7) | 設定を保存するには、TTSSHのメニューバーで[Setup]の[Save setup]を選択します。 |
![]() |
| (8) |
保存する場所と設定ファイル名を指定します。 ここでは、TERATERMのプログラムを格納している場所 (ここでは、C:\ProgramFiles\TTERMPRO )に sakura-rsa1.ini というファイル名で保存することにします。)
|
![]() |
| (9) |
設定保存できたら、この設定ファイルを利用してサーバ専用のTTSSHアイコンを作成しておくと便利です。アイコンをダブルクリックするだけで、直接サーバーに公開鍵認証でログインできるようになります。
まず、TTSSHアイコン (なければ、C:\ProgramFiles\TTERMPRO\TTSSH.EXE等)を選択し、マウスの右ボタンから[ショートカットの作成]を選択して、ショートカット名を適当な名前に変更します。(ここでは、torasan@sakura RSA1)としました。
同様に、作成したショートカットを選択し、マウスの右ボタンで[プロパティ]を選択します。 右図のように[ショートカット]タグを表示して、リンク先を以下のように指定します。
"C:\Program Files\TTERMPRO\TTSSH.EXE" sakura.cc.tsukuba.ac.jp /F=sakura-rsa1.ini
この例では、以下のように指定しています。ご自分の環境に合わせて修正してください。
"TTSSH.EXEの場所" 接続先ホストアドレス /F=設定ファイル名の指定 [OK]ボタンで保存しておけば、次回からこのアイコンをダブルクリックするだけで同じ接続ができます。 |
![]() |
| 4 |
OpenSSH(ssh-keygenコマンド)で作成した鍵の利用について |
|
|
冒頭でも説明しましたが、SSH2の鍵には統一規格がないため、いくつかの種類が存在します。 OpenSSH(ssh-keygenコマンド)で作成したSSH2(RSA、DSA)の鍵をWinSCP3で利用する場合、PuTTYgen等を利用して鍵の変換をする必要があります。
OpenSSH等で作成したSSH2用の秘密鍵をWinSCP3で利用する場合は、PuTTYgenを利用して一度だけPuTTYgenの書式に変換(import機能)しておく必要があります。 それでは、PuTTYgenを利用したSSH2用(DSA)のキーペア生成とその利用について以下に例を示します。
|
||
| (1) |
サーバ側(OpenSSH)でキーペアを作成することもできます。 SSH1(RSA)用の鍵は、そのまま利用可能です。 SSH2(RSA,DSA)用の鍵をWinSCP3で利用する場合は、鍵の変換が必要になります。
まずは、SSH2(DSA)のキーペアを作成してみましょう。 サーバにTTSSH等でログインします。
(備考) SSH2(RSA)もSSH1(RSA)もほぼ同様の要領です。 SSH2(RSA)の場合のコマンドは(ssh-keygen -t rsa)となります。 SS1(RSA)の場合のコマンドは(ssh-keygen -t rsa1)となります。 |
|
| (2) |
OpenSSHで作成した秘密鍵をWinSCP3等を利用してサーバからパソコン側にコピー(ダウンロード)してください。 保存場所は任意ですが、他人に参照されないように注意しましょう。
|
|
| (3) |
WinSCP3でこの秘密鍵(OpenSSHで作成)を利用するには、PuTTY形式の鍵 に変換する必要があります。 まず、PuTTYgenを起動します。 右図のようにPuTTYgenのメニューバーで[Conversions]の[Import key]を選択します。
|
![]() |
| (4) |
サーバからダウンロードした秘密鍵(この例では、id_dsa)を指定して[開く]ボタンを押します。
|
![]() |
| (5) |
秘密鍵の作成時に指定したパスフレーズを入力して[OK]ボタンを押します。
|
|
| (6) |
パスフレーズが正しければ、右図のように指定した秘密鍵を取り込んだ状態になります。 あとは、この鍵を[Save private key]ボタンを押して、PuTTY形式の秘密鍵として保存します。
|
|
| (7) |
保存先とファイル名を指定します。 この例では、[ファイルの種類]欄で、[PuTTY private key files]のままにして、[ファイル名]欄に[ id_dsa ]と指定すると、id_dsa.PPK として保存されます。 (他人に参照されないよう保存場所にご注意ください。) |
![]() |
| (8) |
これで準備ができたので、実際にWinSCP3でこの秘密鍵を指定して、SSH2(DSA)公開鍵認証をお試しください。
|
|