とーますメモ

Ruby on Rails / Goなどの学習メモ

【CircleCI】CapistranoでデプロイするためのSSH Permissions設定

前提として既にデプロイ先のサーバでは、共通鍵の設定が終わっている前提。

以下参考。
thoames.hatenadiary.jp


SSH Permissionsの箇所に秘密鍵を登録することでCircleCI側からデプロイできるようになるが、何回「Add SSH Key」を押して登録しようとしてみても「Failed」と表示されて、「なぜFaildedなのか」が全くわからない状況に陥った。。。

色々と調べてみると、Chrome開発者ツールのNetworkタブを開き且つ[XHR]を選択している状態で「Add SSH Key」を押していると「ssh-key」という名前でリクエストが飛び、そのレスポンスを見ればなぜ失敗しているかが分かる。

自分の場合以下のレスポンスが返ってきた。

{"message":"it looks like this key is encrypted: we don't support password-protected keys"}

要は暗号化されている秘密鍵は受け入れない。とのこと。
なので、秘密鍵を以下のように復号化して登録してやれば良い。

openssl rsa -in <秘密鍵>  -out <復号化したい秘密鍵名>

上記のコマンドを実行し、出力された<復号化したい秘密鍵名>の中身をそのままコピーすればすんなり通った。


[参考]
How to Decrypt an RSA Private Key Using OpenSSL on NetScaler