Windows上的VS代码 - git push导致权限被拒绝(publickey)

时间:2016-05-08 17:58:42

标签: git visual-studio-code

在Windows上运行VS Code 1.0.0,尝试使用SSH身份验证推送到bitbucket。

问题类似于: To use <git push> on Visual Studio Code, but show "Could not read from remote repository."

但是,在我的情况下,/User/profile/.ssh中的凭据已经在我的bitbucket帐户上,如果我 CTRL + SHIFT + P CTRL + SHIFT + C 在Windows cli中一切正常。

实际上,似乎我尝试过的所有其他方法似乎都会获得git gui和其他gui工具等凭据。 VS Code似乎是唯一的异常值。

VS Code尝试使用哪些凭据?这是可配置的吗?

编辑: 使用Process Monitor在代码fetch/pull/push期间查找关键文件的访问权限似乎只显示/User/profile/.ssh/id_rsa被查找,这是正确的密钥。

我希望VS Code在尝试使用该密钥后提示输入凭据,但仍然会获得Permission Denied(publickey)

1 个答案:

答案 0 :(得分:2)

以下是您应该尝试的事项:

  1. 重新启动VS代码
  2. 确认您使用的是git://协议
  3. 关闭VS代码并重新启动ssh-agent:

    $ eval(ssh-agent)
    
  4. 现在验证密钥是否已实际加载:

    ssh-add -l
    
  5. 按照您附上的答案中的说明生成一对新密钥并使用它们。

  6.   

    我希望VS Code在尝试使用该密钥后提示输入凭据

    我有凭据(例如使用https)运行此命令:

    git config --global credential.helper cache
    // OR: 
    git config --global credential.helper store
    
      

    <强> cache
      在内存中缓存凭证一小段时间。有关详细信息,请参阅git-credential-cache [1]。

         

    <强> store
      将凭据无限期地存储在磁盘上。有关详细信息,请参阅git-credential-store [1]。