Linux Tips

Linuxでsshの鍵を作成するには

北浦訓行
2003/4/17

 鍵交換方式のsshでアクセスするにはでは、PuTTY用の鍵生成ソフトputtygen.exeを使ったが、Linuxでも鍵を作成することができる。Windowsで鍵を作成すると、OpenSSHで認識できるように変換する作業が必要となるが、puttygen.exeにはOpenSSHの鍵を読み込む機能があるので、Linuxで鍵を作成した方が手間は少なくて済む。

 Linuxで鍵を作成するには、ssh-keygenコマンドを使用する。RSA暗号方式の鍵を作成するときは「-t rsa」オプションを、DSA暗号方式の鍵を作成するときは「-t dsa」オプションを付加する。

$ ssh-keygen -t rsa ←RSA暗号方式の鍵を作成
Generating public/private rsa key pair.
Enter file in which to save the key (/home/nori/.ssh/id_rsa): ←[Enter]キーを押す
Enter passphrase (empty for no passphrase): ←パスフレーズを入力
Enter same passphrase again: ←もう一度同じパスフレーズを入力
Your identification has been saved in /home/nori/.ssh/id_rsa.
Your public key has been saved in /home/nori/.ssh/id_rsa.pub.
The key fingerprint is:
f9:81:b6:c7:8f:b9:aa:3e:0e:c6:bd:35:19:a1:1e:06 nori@pandora

 以上の操作で、$HOME/.ssh/ディレクトリに秘密鍵(id_rsa)と公開鍵(id_rsa.pub)が作成される。続いて、公開鍵のid_rsa.pubをauthorized_keysという名前に変更して、パーミッションも変えておく。もし、~/.sshディレクトリにautorized_keysというファイルが存在している場合は、ファイル名を変更する代わりに、

$ cat id_rsa.pub >> $HOME/.ssh/authorized_keys

のようにして、公開鍵を追加する。

$ cd .ssh ←~/.sshディレクトリに移動
$ ls ←内容を確認
id_rsa id_rsa.pub
$ mv id_rsa.pub authorized_keys ←ファイル名を変更
$ chmod 600 authorized_keys ←パーミッションを変更

 次に、秘密鍵をフロッピーディスクにコピーして、Windowsマシンに挿入し、puttygen.exeを起動する。

$ mcopy id_rsa a:

 puttygen.exeが起動したら、[Load]ボタンをクリックする。すると、秘密鍵(private key)を読み込むダイアログボックスが表示されるので、[ファイルの場所]を[3.5インチFD(A:)]に、[ファイルの種類]を[All Files]にして、id_rsaファイルを開く。すると、パスフレーズの入力を求めるダイアログボックスが表示される。

パスフレーズ入力のダイアログボックス

 Linuxのssh-keygenコマンドを実行したときに入力したパスフレーズを入力して[OK]ボタンをクリックすると、「OpenSSH SSH2秘密鍵のインポートに成功した」という旨のメッセージが表示されるので、[OK]ボタンをクリックする。

秘密鍵のインポートに成功したというメッセージ

 メッセージダイアログボックスが消えると、puttygen.exeの画面が表示される。[Key comment]のボックスに「imported-openssh-key」とあるので、OpenSSHからインポートした鍵であることが分かる。

秘密鍵インポート後のputtygen.exe

 次に、[Save private Key]ボタンをクリックして、PuTTY用の秘密鍵を保存する。保存先は、PuTTYの本体と同じフォルダでいいだろう。ファイル名に「id_rsa」と入力して[保存]ボタンをクリックする。

 以上で、PuTTY用の秘密鍵が作成できたことになる。PuTTYを起動して、以下の設定を行う。

カテゴリ
  セッション  ホスト名またはIPアドレスを入力
     プロトコルを[SSH]に設定
 
接続
 自動ログインのユーザ名にLinuxのユーザーIDを入力
    SSH  優先するプロトコルバージョンを[2](または[2 only])に設定
       認証  認証のためのプライベートキーファイルに、ここで作成したファイル(id_rsa.PPK)を指定

 設定が終了したら[セッション]カテゴリに戻り、このセッションを保存するために[保存されたセッション]ボックスに新しいセッション名を入力して[保存]ボタンをクリックする。[開く]ボタンをクリックすると、Linuxに接続してパスフレーズの入力を求めるメッセージが表示される。

パスフレーズの入力画面。メッセージが「imported-openssh-key」となっている

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間