Git推送权限被拒绝(公钥),但已成功验证

Git推送权限被拒绝(公钥),但已成功验证,git,github,ssh,Git,Github,Ssh,我想用ssh将我的提交推送到github。我明白了 您已成功验证 运行后的消息ssh-Tgit@github.com命令,但当我要推送提交时,会出现以下错误: 权限被拒绝(公钥)。 致命:无法从远程服务器读取 存储库 请确保您拥有正确的访问权限和存储库 存在 我运行ssh add-l命令 4096 SHA256:SREQ0/2G0mT+UxUmpLWmkMramBcFxnl+onFyXgwFENk~/.ssh/work2_rsa(rsa)4096 SHA256:gKPZ1Hxzc6eZ/Nsgn

我想用ssh将我的提交推送到github。我明白了

您已成功验证

运行后的消息
ssh-Tgit@github.com
命令,但当我要推送提交时,会出现以下错误:

权限被拒绝(公钥)。 致命:无法从远程服务器读取 存储库

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

我运行
ssh add-l
命令

4096 SHA256:SREQ0/2G0mT+UxUmpLWmkMramBcFxnl+onFyXgwFENk~/.ssh/work2_rsa(rsa)4096 SHA256:gKPZ1Hxzc6eZ/NsgnoPaJsGbdWgQV54bYAXaTym3PfY~/.ssh/work3_rsa(rsa)

我运行
git remote-v
得到

origin  git@github.com:H-Ghadirian/UdacitySillySong.git (fetch)
origin  git@github.com:H-Ghadirian/UdacitySillySong.git (push)
sillySong   git@github.com:H-Ghadirian/UdacitySillySong.git (fetch)
sillySong   git@github.com:H-Ghadirian/UdacitySillySong.git (push)
我读书。这与我的问题非常相似,但是
sudo
没有解决我的问题

我还运行了
git push-u origin master
,得到了相同的错误:

权限被拒绝(公钥)

我也读过,但我的公钥在.ssh文件夹中,这不是我的情况

我读了这一页:然后全部检查。我错过什么了吗

我该怎么办

MacOS:塞拉

git版本2.13.5(苹果git-94)

如上所述,我将
config
文件添加到我的
.ssh
文件夹并添加

Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/work2_rsa

查看它。

首先检查
git remote-v
返回的内容:

  • 它需要是你自己的回购协议,或者你是它的合作者
  • 它需要是正确的ssh url
    git@github.com:/

    (而不是https)
需要明确的是,您需要首先在GitHub上创建远程回购:推送到不存在的回购将产生该错误

通常,ssh url不工作意味着所述url未按ssh预期的方式写入。
由于
~/.ssh/config
中有一个ssh
config
文件,ssh可能需要一个不同的URL

我使用
sudo
运行命令并多次检查repo


您没有运行
sshgit@github.com
使用sudi,这意味着您的推送命令也不需要
sudo

当您运行
ssh add-l
时会发生什么?您是否确保您拥有正确的访问权限并且存储库存在?@Buccleuch在
ssh add-l
之后,我得到4096个SHA256:SREQ0/2G0mT+uxumplwmkmarambcfxNL+onFyXgwFENk~/.ssh/work2\u rsa(rsa)4096 SHA256:gKPZ1Hxzc6eZ/NsgnoPaJsGbdWgQV54bYAXaTym3PfY~/.ssh/work3_rsa(rsa)@EdwardThomson你是什么意思?我使用
sudo
运行命令并多次检查repo。是否以root(
sudo
)身份运行git?我认为你做错了,这不必要。在任何情况下,检查git是否使用您在执行
SSH-T
时使用的SSH。看起来git没有相同的SSH配置。例如,检查
GIT\u SSH
环境变量和相关的配置设置。我运行此命令并将其添加到问题中。请告诉我下一步该怎么做?我运行git push-u origin Master时仍然会出现相同的错误。我把它添加到我的question@HamedGhp1或p2是私人回购协议?我在@HamedGh中没有看到它们~/.ssh文件夹中是否有名为“config”的文件?(你使用的是Windows、Mac、Linux吗?你使用的是什么版本的git?)