前提・実現したいこと
circleCIでテストをパスした後、EC2へ自動でデプロイしたい。
しかしエラーが発生し自動デプロイができない。おそらくssh接続ができていないためだと思われるため解決したい。
発生している問題・エラーメッセージ
circleci
1Warning: Permanently added '******************************************************,"IPアドレス"' (ECDSA) to the list of known hosts. 2Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
またssh -vvvで実行しログを見たところ下記のようになっていました。
circleci
1略 2 3debug1: Offering ED25519 public key: /home/circleci/.ssh/id_rsa 4debug3: send_pubkey_test 5debug2: we sent a publickey packet, wait for reply 6debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic 7debug1: Trying private key: /home/circleci/.ssh/id_dsa 8debug3: no such identity: /home/circleci/.ssh/id_dsa: No such file or directory 9debug1: Trying private key: /home/circleci/.ssh/id_ecdsa 10debug3: no such identity: /home/circleci/.ssh/id_ecdsa: No such file or directory 11debug1: Trying private key: /home/circleci/.ssh/id_ed25519 12debug3: no such identity: /home/circleci/.ssh/id_ed25519: No such file or directory 13debug2: we did not send a packet, disable method 14debug1: No more authentication methods to try. 15Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
エラー文を見るに、id_dsa始めそれらファイルが存在しないということだと思うのですが、似たようなエラーを調べてもこのファイルが存在しないために解決できない問題があったわけでもなくまたこのファイルの生成の仕方もよくわかりませんでした。
該当のソースコード
version: 2.1 jobs: build: docker: - image: alpine steps: - checkout - run: name: Echo Test command: echo "CircleCI Test" deploy: machine: image: circleci/classic:edge steps: - checkout - add_ssh_keys: fingerprints: - "${KEY_FINGERPRINT}" - run: ssh ${USER_NAME}@${HOST_NAME} 'cd /var/www/"自分のアプリ名入ってます"/ && git pull origin main' workflows: version: 2 build_and_deploy: jobs: - build - deploy: requires: - build
自分で調べたことや試したこと
ssh keyはローカルからEC2に接続するときに使用しているkeyをcircleCIに設定している。
(---BEGIN RSA PRIVATE KEY--- から---END RSA PRIVATE KEY---まで含んでいる)
また、Hostnameも環境変数HOST_NAMEと同じ値を設定している。
その他以下も確認済み。
- CircleCIの環境変数、SSH keyの再設定
- 環境変数 HOST_NAMEに思い当たるパラメータを設定
- circleCIにssh接続して設定した環境変数があることは確認済み(env | grep "調べたい環境変数")
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。