在Azure DevOps管道中,我想SSH到具有依赖项的私有存储库。我收到以下错误消息:
主机密钥验证失败。致命的:无法从远程存储库读取。
尽管将私钥上传到安全文件,但在项目变量中设置了公钥。
见下文
steps:
- task: InstallSSHKey@0
inputs:
hostName: $(hostname)
sshPublicKey: $(testkey.pub)
sshPassphrase: $(passphrase)
sshKeySecureFile: testkey
- script: |
git clone git@github.xxxxxx.com:xxxx/xxxxx.git
displayName: 'clone repo'
答案 0 :(得分:0)
主机密钥验证失败
这与您尝试用于连接的SSH密钥无关。它指的是服务器的 SSH public key fingerprint。 first connect to a new machine就是您看到的(应该检查)的东西。
验证主机密钥指纹可以防止man-in-the-middle attacks的侵害,在这种情况下,恶意第三方可能会坐在您和目标服务器之间,从而在观察或修改通信时来回传递通信。 Azure文档discusses this as well。
手动SSH一次到计算机,检查指纹是否符合您的期望,然后接受。除非指纹发生变化,否则后续的连接应该可以正常工作。