我遵循Multiple GitHub Accounts & SSH Config(stefano的回答)中描述的流程,並使用部署密鑰設置了對多個存儲庫的SSH訪問權限。我試過在特定的GitHub組織的倉庫,它工作正常 - 我可以拉和推變化。我也嘗試過在我的用戶區域,它仍然很好。通過SSH訪問GitHub存儲庫
然而,當嘗試這種在另一GitHub的組織庫(例如做一個混帳推時)失敗,出現以下錯誤
ERROR: Permission to XXXX/YYYY.git denied to deploy key
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
當通過ssh -T
檢查SSH訪問我得到
「Hi XXX/YYYY!您已成功通過身份驗證,但GitHub不提供shell訪問權限。」
這表明SSH應該工作。
我已經瀏覽了組織設置(GitHub organization> Settings的主頁面),他們有幾乎完全相同的設置,除了您期望會有不同的設置外,聯繫電子郵件等。
我想知道是否有人有什麼可能會導致此問題的想法。有沒有更多的組織設置在任何地方?
你是說部署密鑰僅用於只讀訪問嗎?我勾選了「寫入權限」複選框,並且我還將其用於不同GitHub組織的存儲庫。建議按照建議設置配置中的IdentityFile。 – charisk
那麼,只讀是有道理的,但我看到github支持也出於某種原因讀取/寫入部署密鑰。但肯定檢查你是否用預期的密鑰登錄是一個好的開始。在'〜/ .ssh/config'中設置LogLevel DEBUG3會幫助你。 – Jakuje
感謝您的指點。我希望它具有寫訪問權限,以便我的構建服務器可以推送更改版本標籤。所以我可以看到用例。不過,我相信這與我的設置無關,但與GitHub設置無關。 LogLevel表明獲得了正確的密鑰並且認證正常,只是出於某種原因,GitHub帶着「拒絕部署密鑰的權限到XXXX/YYYY.git」。 – charisk