ssh -A, kimlik doğrulama aracısı bağlantısının yönlendirilmesini düzgün şekilde etkinleştirmiyor


22

ssh -AUzak sunucudan bağlantı kurarken yerel ssh anahtarımı kullanmamı sağlayan seviyorum . Örneğin, ben ssh -A host1.example.comve sonra oradan yapabilirim ssh host2.example.com(veya git'i kullanabilirim) ve bu durumda benim makinem olması gereken orijinal makineden ssh anahtarımı kullanır . Bu benim için her zaman Debian / Ubuntu'da çalışsa da, yeni mac'umda (Lion) çalışmıyor.

Burada ne eksik? Ssh'yi -A ile düzgün çalışacak şekilde nasıl yapılandırabilirim? Standart MacOS olmayan bir ssh'ye ihtiyacım var mı?

Yanıtlar:


33

Aslında, çok basit bir cevap:

ssh-add

ve sonra hepsi işe yarıyor.

Temel olarak, macOS zaten sizin için ssh-agent'ı ayarlamıştır, ancak her yeniden başlatmadan sonra anahtarlarınızı buna eklemeniz gerekir. ssh-add, geçerli önyükleme döngüsü için anahtarlarınıza ssh-agent erişimi sağlar. Oluşturduysanız, özel anahtarınızın şifresini girmeniz gerekir.


Bu, macOS'a yükselttikten sonra en son ssh yönlendirme sorunumu çözdü (5 yıl sonra, hala yararlı bir cevap, teşekkürler @rfay)
23tux

Bu işe yarıyor, ama neden yararlı olabileceğine dair bazı açıklamalar / insanların bu komutu hatırlamasına yardımcı olun.
Adam Parkin

2
@AdamParkin açıklayan bir paragraf daha ekledi.
rfay

1

Arkasındaki kavram ssh -Assh ajanları. Arka planda çalışırlar ve ortam değişkenleri kullanılarak ajan, ssh kullanarak diğer makinelere giriş yaparken kimlik doğrulama için otomatik olarak kullanılabilir ve kullanılabilir. Daha fazla bilgi için ssh-agent'ın sayfasına bakınız.

Mac OS X ile, ssh-agent isteğe bağlı olarak başlatılmalıdır.

Daha fazla bilgi için bakınız:


1

OS X 10.8'den itibaren bunu bir kez yapmanız gerekir:

sudo touch /var/db/useLS

Ve bunu aşağıdakilerin bir parçası olarak ekleyin ~/.bash_profile:

if [ -f ~/.ssh/id_rsa ]; then
    ssh-add -K ~/.ssh/id_rsa 2>/dev/null
fi

Not: Bu tarif benim bedevi senaryolarımın parto'sudur .


Hm, bunu denedim; ajan daha sonra başlar, ama yine de işe bir şey almak için ssh-add gerekir. Yani ssh-add tek başına anladığım kadarıyla hala cevap. Sanırım bunu .bash_profile'ma eklemeliyim.
rfay

lol, ya özel anahtarımın bir parolaya ihtiyacı varsa?
Jeffrey04
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.