Windows 上的 VS Code - git push 结果导致权限被拒绝(公钥)

MrM*_*eek 5 git visual-studio-code

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

问题类似于: 在 Visual Studio Code 上使用 <git push>,但显示“无法从远程存储库读取”。

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

实际上,似乎我尝试过的所有其他方法似乎都可以获取这些凭据,例如 git gui 和其他 gui 工具。VS Code 似乎是唯一的异常值。

VS Code 尝试使用哪些凭据?那可以配置吗?

编辑:在fetch/pull/pushfrom Code期间使用 Process Monitor 查找对关键文件的访问似乎只显示/User/profile/.ssh/id_rsa正在查找,这是正确的键。

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

Cod*_*ard 2

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

  1. 重新启动 VS 代码

  2. 验证您正在使用该git://协议

  3. 关闭 VS code 并重新启动 ssh-agent:

     $ eval "$(ssh-agent -s)"
    
    Run Code Online (Sandbox Code Playgroud)
  4. 现在验证密钥是否已实际加载:

     ssh-add -l
    
    Run Code Online (Sandbox Code Playgroud)
  5. 按照您所附答案中的描述生成一对新密钥并使用它们。


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

如果您有凭据(例如使用 https),请运行以下命令:

git config --global credential.helper cache
// OR: 
git config --global credential.helper store
Run Code Online (Sandbox Code Playgroud)

cache
将凭证短期缓存在内存中。有关详细信息,请参阅 git-credential-cache [1]。

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