[英]ssh -T git@github.com: You've successfully authenticated | sudo git pull: Permission denied (publickey)
[英]Git push permission denied (publickey) but successfully authenticated
我想用 ssh 將我的提交推送到 github。我得到
您已成功通過身份驗證
運行ssh -T git@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
並得到同樣的錯誤:
權限被拒絕(公鑰)。
我還閱讀了權限被拒絕(公鑰)。 致命:遠程端意外掛斷 git 拉但我的公鑰在.ssh 文件夾中,那不是我的情況
我讀了這個頁面: 錯誤:權限被拒絕(公鑰)並檢查所有。 我錯過了什么?
我應該怎么辦?
蘋果操作系統:塞拉利昂
git 版本2.13.5 (Apple Git-94)
正如這個鏈接所描述的,我將config
文件添加到我的.ssh
文件夾中並添加
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/work2_rsa
給它。
首先檢查git remote -v
確實返回的內容:
git@github.com:<you>/<yourRepo.git>
為了清楚起見,您需要首先在GitHub上創建遠程倉庫:推送到不存在的倉庫會產生該錯誤。
通常,ssh url不工作意味着所述URL不是按照ssh期望的方式編寫的。
由於~/.ssh/config
中的ssh config
文件,ssh可能會期望不同的URL。
我用
sudo
運行命令並多次檢查repo。
你沒有用sudi運行你的ssh git@github.com
,這意味着你的push命令也不需要sudo
。
仔細檢查您的 git 配置core.sshCommand
是否符合預期。
在這種情況下,我還通過將我的.gitconfig
從C:\Users\<User>\.gitconfig
到 WSL 中的~/.gitconfig
而結束了這種情況,但沒有意識到沿着路徑復制到 ssh 可執行文件。 在 WSL 中,該配置隱藏了默認設置; 默認應該運行。
所以我不得不跑
git config --global --unset core.sshCommand
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.