作者:pbird | 来源:互联网 | 2022-12-03 16:46
“主机密钥验证失败。” 运行“ 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
和错误:
Host key verification failed.
ERROR: Job failed: exit code 1
为什么会出错?变量已设置。
当我从本地计算机和Gitlab手动执行相同操作时,私钥确实起作用。
1> VonC..:
除了Git错误:连接到远程存储库时“主机密钥验证失败”,,请检查.known_hosts文件。
如果相同的私钥在本地工作,那可能是因为在本地,〜/ .ssh / known_hosts文件确实包含ssh_keyscan
要连接的远程服务器的文件。
确保您的GitLab CI作业也是如此。