.Ssh / config içindeki IdentityFile yönergesini kullanarak iletilen anahtarları belirtmek mümkün mü?
Üretim sunucumuzda Capistrano / GIT aracılığıyla bazı kodları dağıtmaya çalışırken bu tuhaflıkla karşılaştım. Hem kişisel hem de iş GIT anahtarlarım her zaman SSH aracıma yüklenir ve böylece kişisel anahtarım ilk önce aracıya eklenir. Capistrano ile konuşlandırırken ajan iletmeyi kullanıyorum, böylece ana bilgisayar `git çekme 'işlemini doğrulamaya çalıştığında aşağıdaki hata ile başarısız oldu:
HATA: "Bazılarına" izin verilmesi, "kullanıcınıza" reddedildi.
çünkü uygun anahtarı (ssh aracısında daha sonra geldi) denemeden önce kişisel git anahtarımı kullanarak kimlik doğrulaması yapmaya çalıştı ve erişim iznim olmayan yabancı bir repoya eriştiğimi varsaydım. Potansiyel olarak sadece kişisel işime her çalışma deposuna erişebilirim, ancak yerel makinemde .ssh / config içindeki özel etki alanlarını tanımlayarak bu sorunu çözebilirim:
Ana bilgisayar personal.github.com
Ana bilgisayar adı github.com
Kullanıcı git
IdentityFile ~ / .ssh / some_key
Ana bilgisayar work.github.com
Ana bilgisayar adı github.com
Kullanıcı git
IdentityFile ~ / .ssh / some_other_key
ve bu şekilde git asla karışmaz. Üretim kodlarımda iletilen anahtarlar için .ssh / config kuralları oluşturmak mümkün mü, böylece her zaman yeni kodu çekerken hangi anahtarı kullanacaklarını biliyorlar mı? Temelde yapmak istiyorum:
Ana bilgisayar work.github.com
Ana bilgisayar adı github.com
Kullanıcı git
IdentityFile some_forwarded_key
Teşekkürler!