web-dev-qa-db-ja.com

ssh_keyは存在するが、Gitlab_ciで「ホストキーの検証に失敗しました」

「ホストキーの検証に失敗しました。」 Gitlab_ci上「ssh name @ server」を実行する場合

これが私のgitlab_ciの一部で、私のサーバーにログインしてリポジトリからスクリプトを実行することになっています。

script:
  - which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )
  - eval $(ssh-agent -s)
  - ssh-add <(echo -e "$SSH_PRIVATE_KEY")


  - echo "debug"
  - echo "$SSH_PRIVATE_KEY" # all is ok here, it'll be printed
  - echo "debug"


  # - here comes an error
  - (cat ./script/script1.sh) | ssh -t -t $SSH_USERNAME@$SSH_Host

そしてエラー:

  Host key verification failed.
  ERROR: Job failed: exit code 1

なぜエラーなのか?変数が設定されます。

ローカルコンピューターとGitlabから同じことを手動で行っている場合、秘密キーは機能します。

3
Oddamati

Git error:“ Host Key Verification Failed” when connecting to remote repository に加えて、.known_hostsファイルを確認します。

同じ秘密鍵がローカルで機能している場合、ローカルで〜/ .ssh/known_hostsファイルが ssh_keyscan 接続するリモートサーバーの。
GitLab CIジョブも実行できることを確認してください。

6
VonC