Ssh-agent'dan belirtilen anahtarı kullanma


11

Çizgisinde How özel anahtar kullanımı için git anlatmak için? Belirli bir durumda belirli bir ssh anahtarı kullanmak istiyorum.

Benim sorunum '-i bir şey' ssh belirttiğimde bile benim ssh-ajan anahtarları eklendikleri sırayla kullanır.

Benim özel durumum:

  • Her klon için her biri kendi anahtarına sahip iki github kullanıcısı var - örneğin bir ssh-config aracılığıyla - hangi anahtarı kullanacağınızı belirtin:

    Host USER1.git

    Ana bilgisayar adı github.com

    Kullanıcı git

    IdentityFile ~ / .ssh / USER1.id_rsa

ssh -vt USER1.git

ssh-agent'a ilk eklenen anahtar ise yine de USER2.id_rsa kullanır.

Yanıtlar:


5

Sonunda işe başladım:

Host USER1.git
  User git
  HostName github.com
  IdentityFile ~/.ssh/USER1.id_rsa

Host USER2.git
  User git
  HostName github.com
  IdentityFile ~/.ssh/USER2.id_rsa
  • Girinti sayılır.
  • Do ssh-add -lve emin tuşların her iki eklendiğinden emin olun.
    • Yazım hatalarından kaçınmak ssh-add -liçin her yolu kopyalayıp uygun satıra yapıştırın ~/.ssh/config. ~/.ssh/configUSER1 için bir kimlik dosyası yolu yazım hatası varsa, bunun yerine yanlış anahtar (USER2'nin anahtarı) kullanılır.

BitBucket'te talimatları aldım. GitHub için çalışmalılar çünkü tek fark HostName: http://confluence.atlassian.com/pages/viewpage.action?pageId=271943168#ConfiguringMultipleSSHIdentitiesforGitBashMacOSXLinux-CreateaSSHconfigfile

Bunun aracı yönlendirmeyi kullanarak uzak bir sunucuda çalışmasını sağlamak için @ stijn-hoop'un aşağıdaki önerisini deneyin (bu cevabın yorumlar bölümünde).


3
Son yorum gönderen ajan yönlendirmeniz için şu yanıta bakın: superuser.com/questions/273037/…
Stijn Hoop

1

IdentitiesOnly yes.Ssh / config dosyasında bu ana bilgisayarların altında kullanın .


1
ama sonra ajan kullanabilir ve tüm github bağlantıları için parolayı girmek için beni zorlama olacak
svrist

1
Evet, işte böyle çalışır. Ssh-agent kullanırken farklı anahtarlar arasında seçim yapamazsınız. Bunun bir yolu, birden çok ssh aracısını başlatmak ve farklı github işlemleri için farklı sarmalayıcılar kullanarak veya sadece ssh aracıları arasında geçiş yapmak (SSH_AUTH_SOCK'u değiştirmek) arasında geçiş yapmaktır
Cougar

6
Yukarıdaki yorum yanlış - ssh-agent'ınızdan kimlikler seçebilirsiniz. Ayrıca yukarıda daha önce bahsettiğim yanıta bakın, superuser.com/questions/273037/…
Stijn Hoop

0

Mesele genelIdentityFile yönerge içindeki ortak anahtar dosyasını kullanmaktır .

Host USER1.git
  User git
  HostName github.com
  IdentityFile ~/.ssh/USER1.id_rsa.pub

Host USER2.git
  User git
  HostName github.com
  IdentityFile ~/.ssh/USER2.id_rsa.pub

SSH yapılandırmasında özel anahtarı belirtirsek, özel anahtar şifrelenirse SSH aracısı doğru anahtarı seçemez.

Stackexchange'te benzer bir soru: https://unix.stackexchange.com/a/495785/264704

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.