Git权限被拒绝(公钥),但公钥已添加并正在工作



你好,我面临使用git push origin mastergit pull origin master的问题,因为我的远程源使用SSH进行连接,我已经设置了SSH密钥对配置。我也检查了这个解决方案,但它对我不起作用。为了测试连接,我在Ubuntu 上发出了以下命令

ssh -T git@github.com

并显示以下消息

嗨,zain!您已成功通过身份验证,但GitHub没有提供外壳访问。

我很困惑我的身份验证是否与SSH测试命令一起工作,以及为什么它不与推或拉过程一起工作

后出现错误

git@github.com:权限被拒绝(公钥(。致命:无法读取来自远程存储库。

请确保您拥有正确的访问权限和存储库存在。

因为我在配置文件中映射了ssh密钥,所以我认为它正在加载正确的私有文件

确保您的远程URL实际上使用了.ssh/config条目和正确的私钥。

尝试:

GIT_SSH_COMMAND='ssh -Tv' git push

看看到底用了什么钥匙。

如果你有一个.ssh/config,比如:

Host gh
Hostname github.com
User git
IdentityFile ~/.ssh/mykey

您的URL应该是:

gh:<me>/<myrepo>

加载正确的私有文件

仅当您的私钥受密码短语保护时才需要ssh-agent,与~/.ssh/config文件无关.

最新更新