【问题标题】:Microsoft TFS ssh cloning failsMicrosoft TFS ssh 克隆失败
【发布时间】:2017-07-28 20:42:03
【问题描述】:

我正在尝试从我的 Team Foundation Server 域上的项目中克隆一个 repo。我在我的个人资料安全性下创建了一个 SSH 密钥。但是,在接受 repo 的密钥后,我仍然被要求使用密码登录并且身份验证失败:

git clone ssh://mydomain@mydomain.visualstudio.com:22/Project/_git/project-repo
Cloning into 'project-repo'...
mydomain@mydomain.visualstudio.com's password: 
Permission denied, please try again.
mydomain@mydomain.visualstudio.com's password: 
Permission denied, please try again.
mydomain@mydomain.visualstudio.com's password: 
Permission denied (password,publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我已经尝试了我的 visualstudio.com 密码和 SHH 密钥密码,但都不起作用。但它为什么要我输入密码?

【问题讨论】:

标签: ssh tfs clone azure-devops


【解决方案1】:

在 VSTS 中使用 ssh 的先决条件如下:

  1. 生成 ssh 密钥。在 git bash 中,在 git bash 中使用 ssh-kengen -> 选择保存密钥的路径 -> 输入密码(如果您不需要密码,请直接按回车)。
  2. 在 VSTS SSH 公钥(配置文件 -> 安全)中的 KeyData 中添加 .ssh/id_rsa.pub 文件的内容。

对于您的情况,.ssh/id_rsa.pub 的内容似乎与 VSTS SSH 公钥不同。所以你最好做上面的step1和setp2,再用ssh协议克隆十次。

【讨论】:

    【解决方案2】:

    我解决这个问题的方法是在没有密码的情况下删除并重新创建我的 id_rsa.pub。

    【讨论】:

      【解决方案3】:

      使用 SSH 时的默认身份验证模式是私钥。每当由于某种原因失败时,ssh-agent 就会退回到基于用户名和密码的身份验证。

      基于默认密钥的身份验证可能失败的原因有多种。以下是最常见的情况:

      a) ssh-agent 找不到默认的私钥文件 id_rsa,并且没有明确指定其他密钥路径。

      b) 存储在服务器中的公钥不正确。

      c) 您尝试克隆的路径不正确。

      在任何情况下,要解决问题,首先执行 git clone 命令并使用以下命令进行详细日志记录:

      GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone ssh://pathToYourRepo
      

      您可以浏览日志中的每个步骤,以直观了解问题可能是什么。


      (a) 情况下的故障排除

      • 确保您在 .ssh 目录中有默认密钥名称 id_rsa。您可能在使用 ssh-keygen 命令生成密钥时指定了一些不同的密钥名,或者根本没有任何密钥)。
      • 如果您想指定不同的身份验证密钥,请使用以下命令:

        ssh-agent bash -c 'ssh-add ~/.ssh/anotherKey; git clone ssh://pathToYourRepo'
        

      (b)情况下的故障排除

      • 确保在服务器中存储公钥时没有多余的空格。

      (c)情况下的故障排除

      • 确保您没有尝试使用存储库路径的 https 版本进行克隆。

      【讨论】:

        猜你喜欢
        • 2014-04-08
        • 1970-01-01
        • 1970-01-01
        • 2019-06-09
        • 2012-06-18
        • 2013-04-16
        • 2017-01-10
        • 1970-01-01
        • 2014-11-17
        相关资源
        最近更新 更多