やりたかったこと。
- SSHで鍵認証を使ったログイン
- パスフレーズ付きの鍵
- クライアントは Windows/PuTTY
ハマった流れ。
PuTTYgenで作成するも、
Unable to use key file (OpenSSH SSH-2 private key (old PEM format))
で認証失敗。
ssh-keygenで作成した秘密鍵をPuTTY形式に変換すると良いと判明したので、試みるも
Couldn't load private key (unrecognised cipher name)
PuTTYgenで読み込めず。
WinSCPに付属のPuTTYgenが良いと古い情報を見つけたが、PuTTYとWinSCPのどちらのPuTTYgenもバージョン同じでした。
原因。
すごく単純、、、
ssh-keygenで作成した鍵はパスフレーズを指定していたため、PuTTYgenで読み込めないエラーでした。
作成手順。
1. 鍵を作成する。
ssh-keygen -t rsa -b 4096
2. 秘密鍵のパスフレーズを削除
ssh-keygen -p '秘密鍵'
3. PuTTYgenで変換
メニューからインポートした後に、
パスフレーズをPuTTYgenで再設定して、[Save private key]で出力します。
4. 公開鍵の登録
ssh-keygenで作成した公開鍵をサーバーに登録します。
cat '公開鍵' >> authorized_keys