我唯一想到的可能是将以下内容添加到~/.ssh/config
host github.com
HostName github.com
IdentityFile /Users/miranda/.ssh/miranda_git
User git
调试
mirandazhang@Mac$ ssh -T git@github.com
Hi miranda You've successfully authenticated, but GitHub does not provide shell access.
mirandazhang@Mac$ git push
git@gist.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.
$ sudo git push
很好,与克隆公共要旨相同,它也需要sudo
。
我的密钥文件的权限:
-rw------- 1 mirandazhang miranda_zhang_q_git
-rw-r--r-- 1 mirandazhang miranda_zhang_q_git.pub
答案 0 :(得分:1)
您的问题是您没有使用正确的密钥。您的推送远程使用gist.github.com
,但是您的SSH配置仅引用github.com
。 SSH无法知道它们应该使用相同的凭据。
您可以为gist.github.com
添加一个附加节,也可以调整Host
行以读取Host github.com gist.github.com
,以便对Gist和非Gist内容使用正确的密钥在GitHub上。