我已经更新了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.
答案 0 :(得分:3)
在master分支上可能禁用了强制推送。检查您要推送到的仓库中的设置。
如果未禁用对主服务器的强制推送,则需要确保已在ssh配置中添加了ssh密钥路径,这样就不必每次都将ssh密钥添加到会话中。在config
处编辑~/.ssh/config
文件,并添加以下内容(在MacOS上)
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/path/to/key
对于Windows,请检查我的SO answer以了解如何将ssh密钥添加到ssh配置。
更新
答案 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绕过这种情况。我自己没有尝试过。
无论如何:希望会有所帮助。