2015-06-27 91 views
2

我正在使用bitbucket並在我的筆記本電腦上無法使用git來克隆存儲庫。我遇到了一個錯誤:由於缺少公鑰導致無法從bitbucket進行克隆

Permission denied(publickey). 

我該如何解決這個問題?我不記得設置一個公鑰,但如果我明顯不這樣做。 (我正在使用windows。)

+0

刪除了關於bash的東西,因爲它與問題無關(它只是讓你感到困惑,因爲在windows上使用git很奇怪) – alternative

回答

1

這僅僅意味着Git在%HOME%/.ssh中找不到公鑰/私鑰。
這又意味着shhd(服務器上的ssh守護進程)在服務器~git/.ssh/authorized_keys中找不到匹配的公鑰。

您可以確保使用例如一個HTTPS URL(這是什麼OP打算使用):

cd c:\path\to\my\repo 
git remote set-url origin https://bitbucket.org/<owner>/<repo> 

關於known_hosts,一個簡單的ssh -T [email protected]將解決這個問題:

$ ssh -T [email protected] 
The authenticity of host 'bitbucket.org (131.103.20.168)' can't be established. 
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40. 
Are you sure you want to continue connecting (yes/no)? 

添加'是',bitbucket.org將被添加到~/.ssh/known_hosts
然而,在沒有註冊公鑰的情況下,結果仍然是一樣的。

Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'bitbucket.org,131.103.20.168' (RSA) to the list of known hosts. 
Permission denied (publickey). 

爲Windows上的Git的bash的是不奇怪:

  • msysgit/Git for windows 1.9.5 Git的bash的是一個古老的一個:

    GNU bash, version 3.1.20(4)-release (i686-pc-msys) 
    Copyright (C) 2005 Free Software Foundation, Inc 
    

但隨着phasing out of msysgit(Q4 2015)和新的Git For Windows(2015年第2季度),您現在有Git for Windows 2.4.4
它有一個更近的bash,基於64bits msys2 project,基於現代Cygwin(POSIX兼容層)和MinGW-w64的獨立重寫MSYS,旨在與本機Windows軟件更好地互操作。 msys2附帶its own installer too

  • 現在的GIT中是bash(與new Git For Windows):

    GNU bash, version 4.3.33(3)-release (x86_64-pc-msys) 
    Copyright (C) 2013 Free Software Foundation, Inc. 
    
+0

對不起,但我真的不明白git那麼多。我還沒有在電腦上的回購。我想克隆它,這就是問題發生的時間。我使用的網站鏈接https – Greyshack

+0

@Greyshack你在鍵入什麼命令?你在用什麼Git版本? (git --version) – VonC

+0

1.9.5.msysgit.0 這次很奇怪,我可能做錯了什麼。無論如何感謝您的幫助。 – Greyshack

0

到位桶具有SSH和HTTPS訪問。

此外,您還會看到,當您單擊其網站上的克隆按鈕時,它也會爲您提供URL(https)。

如果您仍有問題,請諮詢您的回購所有者/管理員。