尽管提供了有效密钥,但SSH身份验证失败并显示“主机密钥验证失败”

时间:2019-03-29 17:15:21

标签: github ssh azure-devops

在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' 

1 个答案:

答案 0 :(得分:0)

  

主机密钥验证失败

这与您尝试用于连接的SSH密钥无关。它指的是服务器的 SSH public key fingerprintfirst connect to a new machine就是您看到的(应该检查)的东西。

验证主机密钥指纹可以防止man-in-the-middle attacks的侵害,在这种情况下,恶意第三方可能会坐在您和目标服务器之间,从而在观察或修改通信时来回传递通信。 Azure文档discusses this as well

手动SSH一次到计算机,检查指纹是否符合您的期望,然后接受。除非指纹发生变化,否则后续的连接应该可以正常工作。