无法通过VSCode在GitHub上推送到远程SSH存储库

时间:2018-09-13 03:20:00

标签: git ssh visual-studio-code

我已经更新了Windows版Git。我检查了键是否正确。唯一的“解决方案”是开始

ssh-agent

或通过Git Bash打开VSCode。

那么,有什么有用的解决方案吗?

日志:

> git push origin master:master
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

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

3 个答案:

答案 0 :(得分:3)

在master分支上可能禁用了强制推送。检查您要推送到的仓库中的设置。

如果未禁用对主服务器的强制推送,则需要确保已在ssh配置中添加了ssh密钥路径,这样就不必每次都将ssh密钥添加到会话中。在config处编辑~/.ssh/config文件,并添加以下内容(在MacOS上)

Host *
  UseKeychain yes
  AddKeysToAgent yes
  IdentityFile ~/path/to/key

对于Windows,请检查我的SO answer以了解如何将ssh密钥添加到ssh配置。

更新

Windows here上的VS Code似乎有一个未解决的问题。您可以尝试here中提到的解决方法。

答案 1 :(得分:3)

您可以使用访问令牌(in Github)来设置远程源,例如:
git remote set-url origin https://XXXX-YOUR-ACCESS-TOKEN-XXXXXX@github.com/your-account/your-repo.git

答案 2 :(得分:0)

有多种方法可以使ssh密钥(带有密码短语)在VSb的gitbash终端中起作用。如果没有的话,我会让你环顾四周。

我假设您确实环顾四周,但仍想继续使用,因为您想使用VSCode的用户界面。

如果是这样,this official page会告诉您原因:

基本上,您仍然必须通过git bash或运行ssh-agent来运行它。

但是您可以使用putty绕过这种情况。我自己没有尝试过。

无论如何:希望会有所帮助。