【问题标题】:SSH auth fails with "Host key verification failed" despite providing valid keys尽管提供了有效的密钥,但 SSH 身份验证失败并显示“主机密钥验证失败”
【发布时间】:2021-12-14 06:56:58
【问题描述】:

在 Azure DevOps Pipelines 中,我想通过 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' 

【问题讨论】:

    标签: github ssh azure-devops


    【解决方案1】:

    主机密钥验证失败

    这不是指您尝试用于连接的 SSH 密钥。它指的是服务器的 SSH public key fingerprint。这是您在first connect to a new machine 时看到(并且应该检查)的内容。

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

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

    【讨论】:

      【解决方案2】:

      也许不是最好的解决方案:

      • bash: ssh-keyscan -t rsa >> ~/.ssh/known_hosts

      【讨论】:

      • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
      【解决方案3】:

      无法评论上一篇文章,因为我的代表少于 50,但 anca 所说的是将以下内容粘贴到 known_hosts 文件中:

      在 Windows 上,这涉及:

      1. 运行 Bash
      2. 从“ssh.dev.azure.com ssh-rsa...”开始复制输出
      3. 粘贴到 C:\Users.ssh\known_hosts

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-15
        • 1970-01-01
        • 2020-09-04
        • 2012-05-30
        • 2019-10-21
        • 2021-12-25
        • 2013-02-16
        • 1970-01-01
        相关资源
        最近更新 更多