現象
SQLクライアントにTable Plusを使っていたんですが、無償版はタブが2つまでしか開けないのがいい加減不便になってきたので、よく話に聞くDBeaverを使ってみようと思いました。
RDSの本番環境にはSSHトンネル経由で接続するので、いつもの通り、Hostや秘密鍵を設定して接続しようとしましたが、タイトルのinvalid private key
エラーが出て接続できませんでした。
原因
どうやらDBeaverはOPENSSH形式の秘密鍵に対応していないようです。
Sequel ProやTable Plusでは対応しているので、最初に困惑するかも知れません。
RSAには対応しているようなので、変換すればOKです。
対処
以下のコマンドで、サポートされている形式にキーを変換できます。
$ ssh-keygen -p -m PEM -f key_name
-p: 対話形式でパスフレーズを更新する
-m {形式}: 変換形式を選択。PEMなど選べる。
-f: ファイルの指定
上書きされるので、実行前にcp
でバックアップしておくことをおすすめします。