2011-03-18 23 views
19

Şu anda anlayamadığım kaplumbağa totasıyla garip bir problemim var. github benim havuzuna işlemeye çalışırken ben hatayı olsunTortoiseGit yanlış SSH anahtarını kullanarak

ERROR: Permission to martindevans/Hermes.git denied to key2

Tuş2 burada bu kadar görebileceğiniz gibi, ancak uzaktan url, Tuş 2'ye kullanmaya ayarlı değil ben farklı github depo erişmek için kullandığınız bir anahtardır

enter image description here

private.ppk kullanmak set Açıkçası yanlış mı yapıyorum ya kaplumbağa git kırılır?

Nb. Yorumlara cevap olarak. normal git sonuçlarını kullanarak:

C:\Users\Martin\Documents\Visual Studio 2010\Projects\Hermes>git push 
Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 
+0

Kaplumbağa olmadan düzenli Git kullanıyorsanız düzgün çalışıyor mu? –

+0

Hayır, aynı hata – Martin

+1

Harika bir soru! Ve şimdi çok fazla oy ile bir cevabınız var - bunu böyle işaretlemeyi düşünür müsün? –

cevap

30

Farklı özel anahtar biçimleri vardır. Benim keypair macun ile üretildi, ama benim Tortoise ssh-client olarak ssh.exe (form msysgit) kullanmak için yapılandırıldı. Bu yüzden (Tortoise'dan) plink yapmak için değiştirdim ve işe yaradı.

  • ssh-key.exe => ssh.exe (C: \ msysgit \ msysgit \ bin)
  • PuTTYgen.exe yürütülebilir dosyasını => TortoisePlink.exe (C: \ Program Files \ TortoiseGit \ bin)

Ek not: Doğru URL'yi kullanın! Github size üç URL https, git ve ssh sunuyor.


Düzenleme:

Burada ayarları uyarlanmış:

C:\Program Files\TortoiseGit\bin\puttygen.exe 
+0

Ayrıca, belirli Tortoise iletişim kutularında "AutoLoad Macun Anahtarı" seçeneğini işaretleyin. – JarodMS

+0

Tam olarak nerede değiştirdiniz? – acme

+0

OpenSSH tuşunu kullanmak istiyorsanız, o zaman değişiklikler nelerdir? Msysgit ssh kullanıyorsunuz ve ssh anahtarını nereye yerleştiriyorsunuz? Ayarlar-> Uzaktan kumandada sadece macun anahtarı yazıyor! –

1

git bash anahtarı oluşturun:

ssh-keygen -t rsa 

boş Her şeyi bırakın ve bir şifre koymak gerekmez. ~/.ssh/id_rsa.pub içeriğini alın ve github tarafından sağlanan ortak anahtar alanına yapıştırın.

Şimdi ssh ile github'a bağlanarak bunu test edin. Eğer çalışırsa, git'i kullanabileceksiniz.

Bunun yardımcı olacağını umuyorum.

+0

Yeni bir anahtar oluşturmak sorunu geçici olarak çözebilir, ancak uzun vadede sorunları çözeceğinden şüphe duyuyorum. Bu, bugüne kadar bilgisayarımın github'a bağlanmak için yanlış anahtarı kullanmaya karar verdiği bir yerde çalışıyor. – Martin

+0

Git modelim, bu şekilde oluşturulan anahtarları bile yükleyemiyor. Macun ile oluşturduğum tuşlar, gitbash ile oluşturulanlar, bir repoya zorlamak için çalışırken "ana bilgisayar yüklenemiyor" hatası veriyor. – atripes

10

Hah:

Settings - TortoiseGit >> Network >> SSH-Client 
C:\Program Files\TortoiseGit\bin\TortoisePLink.exe 

Birlikte anahtar çiftini yarattı! Kurtarma için ProcMon. Bu, tortoisegit/tortoiseplink'te bir hatadır. Bu uzaktan kumanda ile anahtar kümesine öncelik vermelidir, ancak kayıt defterinde depolanan anahtarın bu belirli sunucu için macun ile tercih edilmesini sağlar. Iki düzeltme. Burada

2 olası düzeltmeler Kişisel tortoiseplink macunla entegredir ve onunla bu sunucu ile ilişkili macun "Oturum" kaydettiğiniz özel anahtarı okuyor. En azından benim için olan buydu. Github'da değilim, bu yüzden herkes için bu çözümün uygulanabilirliğini bilmiyorum.

Anahtar kümesini macun oturumu yapılandırmasında el ile silmenizi ve kaplumbağa oturumlarınız için pagaent kullanmayı, kaplumbağa gitmesinin yaptığı gibi yapmanızı tavsiye ederim. Bu ayrıca tortoisegit'in uzaktan kumanda için anahtar setini kullanmasını sağlar.

  1. Yani, macun, sunucuyla ilişkili ne olursa olsun, oturum yükünü açabiliriz, "Kimlik doğrulama için özel anahtar dosyası" kaldır/değer Bağlantı/SSH/Auth gidip değiştirin. MOdification bu repo'yu düzeltebilir, ancak aynı sunucu için farklı tuşlar kullanıyorsanız başka bir repo hazırlayın.

  2. Kayıt defteri girişini kendiniz değiştirebilirsiniz/silebilirsiniz. o

+1

tortoisegit hata raporu: http://code.google.com/p/tortoisegit/issues/detail?id=1347 – scaryman

+1

Ayrıca, "$ SERVERNAME" oturum anahtarı olarak varsayılan% 20Settings de var. ayrıca bir PublicKeyFile içerdi – icc97

1

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\$SERVERNAME$\PublicKeyFile Ben Bitbucket (Win10) erişmek için benim TortoiseGit kurma aynı problem vardı bu. Bunu çözmek için kayıt defterindeki eski kayıtlı ana bilgisayar anahtarlarını HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys ((Varsayılan) tuşu değil, tho) olarak silmek zorunda kaldım.

İlgili konular