(63) OpenSSHで作成した秘密鍵がPuttyで使えない 【解決】

投稿者: | 2017年10月4日

8,122 views

この記事は最終更新から 2248日 が経過しています。

自宅サーバーへのログインを ID,PW入力から鍵方式に変更しようとしたときのお話です。

(1) OpenSSHで公開鍵と秘密鍵を作成

CentOSサーバー上で、以下の手順で公開鍵と秘密鍵を作成した。

su - hoge

cd
ssh-keygen      # RSA 2048, SHA256で鍵生成
ls -l .ssh      # 生成されたファイルを確認
chmod 700 .ssh  # ディレクトリのパーミッションを他者に見られないように変更

cd .ssh         # ファイル出力されたディレクトリへ移動

cat id_rsa.pub >> authorized_keys    # 生成された公開鍵を authorized_keys に追記
chmod 600 authorized_keys            # 自分のみRWできるようにパーミッションを変更

【参考】
ssh-keygenで passphraseを指定しなかった場合、
秘密鍵さえあればパスワード無しでログインできてしまう。

(2) クライアント側に秘密鍵を提供

id_rsaの中身を表示し、これをまるまるコピペしてWindowsパソコンでテキストファイルに保存する。
HTTPやFTPでダウンロードできればそれでもよし。

cat id_rsa

-----BEGIN RSA PRIVATE KEY-----
MpokpweofkpokpoPOKF23ko1e58nNh/u6NILiewjoifejcMsqjNKXl5vmyaImGUi
cRe27J9M/xjCupsGcz+GS811XTC8bDNDmeSl8CJ/qUn7V+Joivcwjoij3oifacdH
kFgLOicvewoioiadd+IgnkJE8C0KJVNOEWiowijOICMOIJioIdmABykT1DuiOKHD
 :
 :
 :
xjhX+o885dl+PO5VOVNOEWiowijOICMOIJioIdmABykT1DuiOKHDCLKIEMOiwem
JBCKcoewijoiJOIJW12oiajOiJOCIwefulr9hOwefwefSkzewfVK
-----END RSA PRIVATE KEY-----

rm id_rsa id_rsa.pub    # 生成した鍵ファイルを削除

(3) Puttyで使えるように秘密鍵ファイルを形式変換

これに気づかず2時間以上も彷徨ってしまった。
ここに漂着された方の助けになれば幸いです。

1) PuTTY Key Generator(puttygen.exe)を起動する。

2) [Load] ボタンを押下し、上記(2)でコピペ作成した秘密鍵ファイルを読み込む。

するとこんなメッセージが表示された。

メッセージの内容は以下の通り。
・OpenSSHが出力した古いPEM形式の秘密鍵ファイルだよ。
・PUTTY独自形式に変換するから [Save private key] ボタンを押してね。

3) [Save private key]ボタンを押下し、秘密鍵ファイルを出力する。

(4) 生成した秘密鍵ファイルをPuttyでロード

1) Putty(putty.exe)を起動する。

2) 操作対象の Sessionをロードする。

3) [Connection]-[Data]メニューを選択する。
4) [Auto-login username]に上記(1)で鍵を作成したユーザー名を入力する。

5) [Connection]-[SSH]-[Auth]メニューを選択する。
6) [Browse]ボタンを押下し、上記(3)でPutty独自形式に変換出力した秘密鍵ファイルを指定する。

この状態で [Open] ボタンを押下すればつながる!

おまけ:別解

上記の手順とは逆に、以下の策もある。
1) PuTTY Key Generatorで公開鍵と秘密鍵を生成する。
2) 公開鍵をサーバーに渡す。

詳細はこちらを参照のこと。
PuTTYで公開鍵認証方式でのSSH接続を行う手順まとめ


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です