[英]Can pull for Git repo but not push
我剛剛生成了一個 SSH 密鑰並將其添加到我的 ssh-agent 中的 Linux Mint 終端中。 然后我復制了.pub
文件的內容並粘貼到 GitHub 用戶范圍的 SSH 密鑰箱中。 我打電話給git pull
並且它有效。 我調用add
和commit
,一切似乎都很好。
但后來我打電話給git push -u origin main
我得到了
ERROR: Permission to name/repo.git denied to deploy key
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
當您將生成的公鑰上傳到 GitHub 時,您將其放入 per-repository deploy key 框中。 部署密鑰是 SSH 密鑰,旨在在單個存儲庫上運行,默認情況下它們是只讀的。 如果您希望密鑰是可讀寫的,則必須在添加公鑰時選中該框。 這是因為在許多情況下,部署密鑰僅用於部署代碼,因此最好不要授予他們不需要的訪問權限。 但是,它們也可以用於其他機器操作,因此可以進行寫訪問。
由於您已經上傳了它,因此您必須從 GitHub 中刪除部署密鑰並重新添加它,因為無法更改現有密鑰的設置。 當您重新添加它時,請選中“允許寫入訪問”復選框。
如果您希望這適用於您的整個用戶帳戶,而不僅僅是這個特定的存儲庫,那么您需要刪除部署密鑰條目並將其上傳到您的用戶設置中。 您必須先刪除部署密鑰條目,因為同一密鑰只能用於一個目的,並且該密鑰標識參與者(用戶或部署密鑰)和權限。
Specifically they say add the following to ~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.