CircleCI の SSHデバッグ の際に Permission denied (publickey) エラーが出る場合は鍵ファイルを指定する

状況

SSHデバッグの際に、以下のように接続を促されたとします。

You can now SSH into this box if your SSH public key is added:
    $ ssh -p 55555 10.10.10.10

Use the same SSH public key that you use for your VCS-provider (e.g., GitHub).

RSA key fingerprint of the host is
  SHA256:FOOBAR
  MD5:HOGE

This box will stay up for 2h0m0s, or until 10m0s passes without an active SSH session.

そして $ ssh -p 55555 10.10.10.10 を実行した時に以下のようなエラーになったとします。

$ ssh -p 55555 10.10.10.10
Permission denied (publickey).

結論

sshコマンドを実行するときに -i (鍵ファイル) を追加して接続します。

$ ssh -p 55555 -i /path/to/my_key.pem 10.10.10.10
circleci@123456abcdef:~$

補足

どの鍵ファイルを指定するかを調べるためには、$ ssh -v git@github.com コマンドを実行します*1

コマンドを実行すると長々とログが出力されますが、そのログのうちの以下の部分に注目します。

debug1: Authentication succeeded (publickey).

このログの直前の部分に書いてある鍵が、求めている鍵ファイルです。~/.ssh/config の設定にもよりますが、たとえば以下のように鍵ファイル名が書かれています。

debug1: Trying private key: /home/hogehoge/.ssh/foobar_barfoo.pem

参考

circleci.com

*1:GitHub をソースコード管理に使っている場合。それ以外の場合は「参考」の公式ドキュメントを参照して下さい

Powered by はてなブログ