簡體   English   中英

可以拉取 Git 回購但不能推

[英]Can pull for Git repo but not push

我剛剛生成了一個 SSH 密鑰並將其添加到我的 ssh-agent 中的 Linux Mint 終端中。 然后我復制了.pub文件的內容並粘貼到 GitHub 用戶范圍的 SSH 密鑰箱中。 我打電話給git pull並且它有效。 我調用addcommit ,一切似乎都很好。

但后來我打電話給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

https://stackoverflow.com/a/43054414/6521970

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM