我开始学习 Git 和 GitHub。
现在,我可以创建我的存储库来练习,并且可以将提交推送到 git bash 上的原始存储库(在 GitHub 中)。
但是当我尝试推送 Visual Studio Code 时,我收到了此错误
权限被拒绝(公钥)。
致命:无法从远程存储库读取。
并且无法推送到原始存储库。
but 我已经使用 git bash 上的 ssh 密钥将本地存储库远程到原始存储库,并且可以完成本地存储库和原始存储库之间的推送和拉取。
在其他人的情况下 https://stackoverflow.com/questions/34400272/visual-studio-code-always-asking-for-git-credentials,他们被要求提供 GitHub 凭据来推送或同步,但就我而言,无法要求我提供任何凭据(例如 ssh 密钥)。
这种情况下,我该怎么办?谢谢。
我认为@codewizard 的答案是正确的。似乎 VS Code 仅使用“id_rsa.pub”密钥,它没有使用 git.exe 配置使用的其他 ssh 密钥对。(该密钥不是名称 id_rsa。)但是在生成新的 id_rsa 密钥对后,我仍然被拒绝许可(公钥)。
我在这篇博客文章中找到了我的答案,似乎 vs code 没有可以与之交互的 ssh 代理?
http://blog.alner.net/archive/2015/08/24/vs_code_with_git_ssh_keys_that_use_passphrases.aspx http://blog.alner.net/archive/2015/08/24/vs_code_with_git_ssh_keys_that_use_passphrases.aspx
博客上的解决方案是
- 打开命令提示符。
- 运行“start-ssh-agent”并回答密码
提示。
- 运行“code”以从该环境启动 VS Code。
我用过 git-bash
启动 ssh 代理:eval "$(ssh-agent -s)"
then "code"
启动 VS Code
Note:正如 @JoshuaH 在评论中指出的,您可以创建一个 Windows 快捷方式来简单执行上述步骤。cmd /c start-ssh-agent & code
git fetch 开始工作。但是我开始每 x 分钟收到一个 openssh 密码框(不定时)
所以我然后重新检查了密钥是否已添加
再次使用 git-bash
then "ssh-add ~/.ssh/id_rsa"
then git config --global credential.helper wincred
如果您每次都需要密码提示,请忽略前面的两个命令并在 VS Code 的设置中禁用自动获取。
"git.autofetch": "true"
在 VS 代码设置中"git.autofetch": "false"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)