Aynı ana bilgisayar ve kullanıcı için birden fazla SSH anahtarına sahip olabilir miyim?


4

Bitbucket'te iki hesabım ve her biri için bir SSH anahtarım var. Bu benim nasıl ~/.ssh/configgörünüyor gibi:

Host bitbucket.org
  User git
  IdentityFile ~/.ssh/bitbucket/account1

Host bitbucket.org
  User git
  IdenfityFile ~/.ssh/bitbucket/account2

Sorun, SSH temsilcisinin aynı anda aynı ana bilgisayar için iki anahtarla baş edemediği ve diğerini kullanabilmem için birini kaldırmam gerektiği görünüyor.

Bir geçici çözüm var mı?

Yanıtlar:


8

Görünüşe göre, Bitbucket'in yerinde bir joker DNS girişi var; rastgele herhangi bir alt etki alanı ( *.bitbucket.org), aynı sunuculara çözümlenir bitbucket.org.

$ host bitbucket.org
bitbucket.org has address 207.223.240.182
bitbucket.org has address 207.223.240.181
$ host random.bitbucket.org
bitbucket.org has address 207.223.240.182
bitbucket.org has address 207.223.240.181
$ host clearlynotasubdomain.bitbucket.org
bitbucket.org has address 207.223.240.182
bitbucket.org has address 207.223.240.181

Bu nedenle, ~/.ssh/configfarklı ana bilgisayar adlarınızla farklı girişler yapabilirsiniz :

Host project1.bitbucket.org
  User git
  IdentityFile ~/.ssh/bitbucket/account1

Host project2.bitbucket.org
 User git
 IdenfityFile ~/.ssh/bitbucket/account2

Aslında, bu kesin amaç için Bitbucket'in bu joker karakter yerinde olduğunu tahmin ediyorum.


7

İki ayrı SSH takma adı oluşturabilirsiniz, örn.

Host bitbucket1
  Hostname bitbucket.org
  User git
  IdentityFile ~/.ssh/bitbucket/account1

Host bitbucket2
  Hostname bitbucket.org
  User git
  IdentityFile ~/.ssh/bitbucket/account2

IdentityFile'niz varsayılan olanlar olmadığı sürece ( buradaki sorumu inceleyin ), o zaman bu takma adları kullanarak hangi hesaba bağlanacağınızı seçebilirsiniz.


Bu, Rain'in cevabından daha iyi, daha genel ssh-native bir çözüm. Rain'in cevabı sadece bitbucket'in DNS'inin nasıl yapılandırıldığından dolayı çalışıyor. Eldering'in cevabıyla, sadece yazmanız ssh bitbucket1veya ssh bitbucket2bağlanmanız gerektiğini unutmayın. Ana bilgisayar adı ayarınız sizin .ssh/configiçin ana bilgisayar adını işler.
Doug Harris

@DougHarris Katılıyorum; Bu özelliğin farkında değildim.
Yağmur

Yani, denersin ssh bitbucket1ve başarısız olursa tekrar dener misin? Ya da hemen bağlanıp ssh bitbucket2bağlanmadığını görmeyi dene. Bu cevap @Rain'in cevabından daha fazla sorun / belirsizlik getirecek gibi görünüyor.
katilist

@killermist: Hayır, hesap1'e ssh bitbucket1bağlanmak için kullanıyorsunuz (ve hesap2 için tam tersi). Bitbucket, hesabınızı bağlanmak için kullandığınız SSH anahtarından belirler. Önemli olan, satırın gerçek Host Xbir ana bilgisayar adı olması gerekmeyen bir ana bilgisayar takma adını belirlemesidir ; bu Hostnamegiriş içinde belirtilir .
Jaap Eldering,
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.