我在Mac Snow Leopard上,而且剛剛安裝了git
。 html
我剛試過 node
git clone git@thechaw.com:cakebook.git
但這給了我這個錯誤: git
Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/` Permission denied (publickey). fatal: The remote end hung up unexpectedly
我想念什麼?
我也嘗試過使用ssh-keygen
而不設置密碼,可是仍然存在相同的錯誤。 github
基本的GIT指令未引用SSH密鑰。 經過上面的某些連接,我找到了一個git幫助頁面,該頁面逐步解釋瞭如何針對各類操做系統執行此操做(該連接將檢測到您的操做系統並進行相應的重定向): 服務器
http://help.github.com/set-up-git-redirect/ ssh
它遍歷了GITHub所需的全部內容,並給出了詳細的解釋,例如「爲何在建立RSA密鑰時添加密碼短語」。 我想我會發布它,以防它幫助別人... 加密
使用來自Github的ssh連接,但請確保不使用ssh附加它,而只需使用git hub上的ssh選項卡能夠克隆倉庫便可。 spa
在Windows上,確保全部應用程序在HOME上均一致。 Msys不會爲您作到這一點。 我必須設置一個環境變量,由於ssh和git彷佛沒法在個人.ssh目錄所在的位置上達成一致。 操作系統
請注意(至少對於某些項目而言), 您必須具備帶有ssh key的github賬戶 。 代理
查看認證代理中列出的密鑰( ssh-add -l )
(若是看不到任何內容,請使用ssh-add / path / to / your / key添加您現有的鍵之一(例如: ssh-add〜/ .ssh / id_rsa ))
(若是您沒有任何密鑰,請先建立一個。請參閱: http : //rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html或僅是谷歌ssh-keygen)
要驗證您是否具備與github賬戶關聯的密鑰 :
前往: https : //github.com/settings/ssh
您應該至少看到一個鍵,該鍵的哈希鍵與您剛在一分鐘前鍵入ssh-add -l時看到的哈希之一匹配。
若是不這樣作,請添加一個,而後重試。
當您訪問SSH URL(讀/寫)而不是Git只讀URL時,可能會發生此錯誤,可是您對該存儲庫沒有寫權限。
有時,您只想克隆本身的存儲庫,例如,部署到服務器。 在這種狀況下,您實際上僅須要只讀訪問權限。 可是因爲這是您本身的存儲庫,所以若是您願意,GitHub可能會顯示SSH URL。 在這種狀況下,若是遠程主機的公共密鑰不在GitHub SSH密鑰中,則將拒絕您的訪問, 這將有望發生 。
一個等效的狀況是,當您嘗試克隆沒有使用SSH URL的寫訪問權的其餘用戶的存儲庫時。
簡而言之, 若是您打算僅克隆存儲庫,請使用HTTPS URL ( https://github.com/{user_name}/{project_name}.git
git@github.com:{user_name}/{project_name}.git
)而不是SSH URL( git@github.com:{user_name}/{project_name}.git
),它避免了(沒必要要的)公共密鑰驗證。
更新:GitHub如今顯示HTTPS爲默認協議,此舉可能會減小SSH URL的濫用。