2012-07-20 84 views
13

我是Git和GitHub的新手。ssh clone不適用於github

我創建了一個新的存儲庫,並試圖在我的本地機器上克隆。

它適用於https和git-readonly URL。也就是說,下面工作得很好:

  • git clone https://github.com/npsabari/testrepo.git
  • git clone git://github.com/npsabari/testrepo.git

但當我git clone [email protected]:npsabari/testrepo.git,沒有奏效。它給了以下錯誤消息:

Cloning into 'testRepo'... 
Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 

然後我試圖ssh [email protected],但我得到了錯誤:

"Permission denied (publickey)." 

,而不是歡迎信息。

我應該怎麼做才能解決這個問題?錯誤的原因是什麼?

+4

您是否生成,更新並確認了SSH密鑰? – 2012-07-20 19:18:04

+0

不!我不知道如何生成或更新或確認SSH密鑰。今天只有我開始使用git ..那麼,如何做到以上所有? – sabari 2012-07-20 19:20:09

+0

看到我的答案在下面,它包含一個鏈接(第三)到教程 – 2012-07-20 19:21:33

回答

16

按照GitHub上help,該error you're getting是關係到錯誤的SSH配置。請按照setting up SSH for GitHub的指示進行檢查。

+1

解決了!我還有一個疑問,如果我使用其他機器克隆我的存儲庫,是否需要在該機器上生成SSH密鑰並將其添加到我的github帳戶?或者我只能從一臺機器SSH? – sabari 2012-07-20 19:33:29

+1

最好爲每臺機器生成一個密鑰。 您可以將一臺機器從一臺機器複製到另一臺機器,但不建議這樣做,因爲只要一臺機器受到危害,所有使用相同密鑰的機器都會受損。 一箇中間解決方案將是在USB存儲盤上有一個密鑰並使用標誌來告訴你想要使用它們。然而,更好的是堅持每臺機器一個鍵:D – 2012-07-20 19:47:54

+0

非常感謝提示! – sabari 2012-07-20 19:52:15

2

錯誤的原因是您沒有上傳到GitHub的公鑰(〜/ .ssh/id_rsa.pub)。將它添加到你的帳戶(你可以通過github提供的web面板來完成),它會起作用。

+0

如何做到這一點?並且我不保存〜/ .ssh文件夾中的文件id_rsa.pub。如何生成它? – sabari 2012-07-20 19:21:41

+0

ssh-keygen -t rsa – Lusitanian 2012-07-20 21:17:22

1

我曾經歷過這個 - 只有一次 - 由ssh-keygen生成的密鑰被破壞。檢查私鑰和公鑰文件,它們具有正確的語法,長度,et.c.

它。只是。沒有。工作。

在同一臺機器上,我重新生成了一個密鑰對。這最終讓我通過ssh連接到github。