簡體   English   中英

權限被拒絕(公鑰),但公鑰在本地和遠程存在

[英]Permission denied (publickey) but public key exists locally and remotely

嘗試推送時出現以下錯誤:

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists

我知道那是什么意思 但是, id_rsa.pub確實存在於本地,並且也被復制到bitbucker,它們都是相同的。 該存儲庫也存在。

可能是什么原因?

公鑰問題

  1. 檢查您是否輸入了正確的遠程存儲庫路徑(即git@github.com:username/reponame )。

  2. 使用ssh git@somehostname.com -T -vv調試連接以獲取詳細模式。 檢查輸出。 它會告訴您發生了什么。 如果您仍然遇到問題,請在此處發布,我們可以看看。

  3. 如果您的私鑰導致私鑰的父目錄設置的權限比應有的權限高, ssh會經常抱怨。

    1. 密鑰本身應使用chmod 0600 ~/.ssh/id_rsa ,並且~/.ssh目錄最多設置為0700。
    2. ~~/.. (父目錄,在Linux上通常為/home ,在Mac OS X上通常為/Users )應設置為744。
    3. 還要檢查是否在密鑰及其父目錄上正確設置了組和用戶權限:

       $ id -un && id -ug # check output of this command before using! username groupname $ chown --recursive $(id -un):$(id -gn) ~ 

      這將重置主目錄上的所有權限,以便您當前的用戶和組擁有所有文件。 這可能不是您想要的。 man chown

  4. 如果您仍然遇到問題,您可能還需要檢查遠程主機上的~/.ssh/authorized_keys文件。 它的權限也是失敗點。


修復OSX目錄權限

@AlexanderSupertramp,我說的權限最多應為744 是的,僅指SSH的要求。 但是我不建議您將/home目錄更改為該編號。 每個操作系統對目錄權限都有其自己的要求,由於您沒有提供太多有關系統的信息,因此我只能提供一般性的說明。 無論如何,對於我的回答不清楚,我感到非常遺憾。

您的Mac可能無法啟動,因為744過於寬松。 但是我不確定。 要解決此問題,您可能需要造訪Apple Store的Genius Bar或聯系授權的維修技術人員。 您還可以使用內置工具來自動修復目錄權限,如下所示:

  1. 通過按Command+S並同時按下電源按鈕打開Mac,以進入單用戶模式,如本文所述
  2. 從菜單欄中啟動OSX磁盤實用程序,然后使用此Apple KB中所述的修復權限工具

暫無
暫無

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

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