“主机密钥验证失败。”在 Gitlab Ci 上运行“ssh名称@服务器”时
这是我的 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 手动执行相同的操作时,私钥确实有效。
另外Git 错误:连接到远程存储库时“主机密钥验证失败” https://stackoverflow.com/q/13363553/6309,检查您的 .known_hosts 文件。
如果同一个私钥在本地工作,那可能是因为在本地,您的~/.ssh/known_hosts
文件确实包括ssh_keyscan https://stackoverflow.com/a/29908140/6309您要连接的远程服务器的名称。
确保您的 GitLab CI 工作也如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)