2012-09-11 80 views
3

克隆到網站... 權限被拒絕(公鑰)。 致命:遠程端意外掛起EC2無法SSH進入github

不斷在我的EC2實例上獲取此信息,即使我已生成SSH密鑰並將SSH密鑰添加到Github上的允許密鑰。

當我測試驗證我得到這個: DaveHewy你好:

關鍵 '/home/ec2-user/.ssh/id_rsa' 輸入密碼!您已成功通過身份驗證,但GitHub不提供shell訪問權限。

但是,當我嘗試克隆回購,沒有這樣的運氣。

回答

1

切換到root用戶與

sudo su 

,並重新設置使用Github上提供了以下頁面我的SSH密鑰 - https://help.github.com/articles/generating-ssh-keys

的工作之後的罰款。

+0

欣賞這一點。正在使用「ubuntu」用戶並需要使用root用戶。 –

+0

所以,出於好奇,爲什麼Ubuntu的用戶不克隆,但root用戶可以? – Greg

5

您應該考慮使用代理轉發,而不是處理幾個密鑰並將ssh github密鑰放在EC2實例上。這改變了我部署的方式。

https://help.github.com/articles/using-ssh-agent-forwarding

隨着代理轉發你基本上是使用本地鍵,在登錄到EC2實例。如果其他人登錄到實例中,如果他們無法訪問它,他們將無法拉/推回購。

這很容易,乾淨和安全。

您必須在遠程主機上擁有SSH密鑰的唯一好理由是需要持續集成或自動部署。在這種情況下,您應該使用部署密鑰。使用部署密鑰,你只能拉。

+0

完全忘了我可以做到這一點,歡呼!以前也用過它。我現在已經解決了這兩個角度:) – David

+0

「使用部署密鑰,你只能拉。」? GitHub [docs](https://developer.github.com/guides/managing-deploy-keys/#deploy-keys)表示「部署密鑰總是提供對存儲庫的完全讀/寫訪問權限。」 –