尽管存在ssh_key,但Gitlab_ci上的“主机密钥验证失败”

Odd*_*ati 3 git ssh-keys gitlab gitlab-ci gitlab-ci-runner

“主机密钥验证失败。” 运行“ ssh name @ server”时在Gitlab_ci上运行

这是我的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
Run Code Online (Sandbox Code Playgroud)

和错误:

  Host key verification failed.
  ERROR: Job failed: exit code 1
Run Code Online (Sandbox Code Playgroud)

为什么会出错?变量已设置。

当我从本地计算机和Gitlab手动执行相同操作时,私钥确实起作用。

Von*_*onC 5

除了Git错误:连接到远程存储库时“主机密钥验证失败”,,请检查.known_hosts文件。

如果相同的私钥在本地工作,那可能是因为在本地,〜/ .ssh / known_hosts文件确实包含ssh_keyscan要连接的远程服务器的文件。
确保您的GitLab CI作业也是如此。