2016-04-29 31 views
1

我做了以下步驟設置SSH部署按鍵與我們的混帳回購協議爲它能夠與git拉沒有用戶名和密碼:遠程Git拉使用GitHub的部署鍵 - 被拒絕的權限

注:我在AWS EC2/Ubuntu的14.04.3

  1. 運行ssh-keygen -t rsa -b 4096 -C "[email protected]"這些,然後保存爲id_rsa和在〜/ .ssh/
  2. 部署公鑰id_rsa.pub(id_rsa.pub)是在GitHub的加入在線UI部署密鑰部分
  3. 該目錄是在/ var/WWW /目錄中已克隆,這是通過HTTPS工作都好拉
  4. 嘗試sudo git pull [email protected]:ownersUsername/OurRepo.git並獲得以下錯誤

權限被拒絕(公鑰)。 致命:無法從遠程存儲庫讀取。

請確保您擁有正確的訪問權限 並存在存儲庫。

另一個注意:該存儲庫在其他用戶帳戶下是私有的。

而且,當我嘗試ssh [email protected]我得到:

嗨的用戶名/回購!您已成功通過身份驗證,但GitHub不提供shell訪問權限。 與github.com的連接已關閉。

而部署密鑰出現在使用中。已經在這個問題上超過4個小時了,任何將非常感激,謝謝。

回答

5

問題是您在使用sudo,它以root用戶身份運行該命令,它會嘗試使用根用戶的密鑰而不是用戶的密鑰。

你想要做的是:

  1. /var/www
  2. 用戶/組寫訪問運行拉/克隆是用戶沒有根。
+0

好極了!非常感謝你的魅力! –

0

當你做一個混帳拉你不需要鏈接。

git pull <remote> <branch> 

您需要爲克隆命令

sudo git clone [email protected]:ownersUsername/OurRepo.git 

的完整URL測試,如果你的ssh關鍵是用好這樣的:

git fetch --all --prune 
+0

嗨,即使試圖克隆時,我仍然看到錯誤: 權限被拒絕(publickey)。 致命:無法從遠程存儲庫讀取。 請確保您擁有正確的訪問權限 並存在存儲庫。 –

+0

你是否落後於代理?同時檢查你的.gitconfig文件以驗證你沒有任何協議配置(htp/https/git) – CodeWizard