ssh-add komutu kimliğimi ssh-agent'a eklemiyor


20

Ubuntu 13.10'u yeni kurdum ve ssh-agent'uma kimliğimi eklemek üzereydim, böylece bir Terminal açtım ve bunu yaptım

bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ 

herhangi bir fikir?

Yanıtlar:


26

Gönderen man ssh-add:

ssh-add, kimlik doğrulama aracısına, ssh-aracısına (1) özel anahtar kimlikleri ekler. Bağımsız değişkenler olmadan çalıştırıldığında ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa ve ~ / .ssh / identity dosyalarını ekler. [...]

Kimlik dosyaları kullanıcı dışında hiç kimse tarafından okunmamalıdır. Ssh-add, başkaları tarafından erişilebilirse kimlik dosyalarını yok sayar.

Bu nedenle, The agent has no identities.hata nedeniyle, muhtemelen bu dosyalara sahip değilsiniz veya belki de bu dosyalara başkaları tarafından erişilebilir. Aşağıdaki komutu kullanarak bunları kontrol edebilirsiniz:

ls -l ~/.ssh

ssh-addKomutu çalıştırdıktan sonra echo $?, önceki komutun hata durumunu görmek için çalıştırın . Çıkış durumu 0 döndürdüyse, komut başarıyla yürütüldü. Çıkış durumu sıfırdan farklı bir değer döndürdüyse, komut yürütülemedi.

Daha man ssh-addfazla bilgi için bakınız .


true, ben bu dosyaları yok ve çıkış değeri ssh-add1 oldu ama 0 değil. Belli ki dosyaları oluşturulmadığı için benim izinleri ile ilgili bir sorun var. Bunu nasıl düzeltebileceğim hakkında bir fikrin var mı? dizin ~/.sshvar (boş) ama benim yaptığımda ls -l
görünmüyor

Bu komutu çalıştırdım, bu ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsayüzden adam ssh-keygen yardımcı oldu, teşekkürler.
bjorgvin

1
Bu, ithalat ipucunu benim için doğru yönde verdi. Birden fazla ssh anahtarım vardı ve önce ssh-add <anahtar adı> kullanarak uygun anahtarı eklemek zorunda kaldım. Sonra bir charme gibi çalıştı. thx
paulroho

3
Nedense, ssh-addparola girdikten sonra çalışırken herhangi bir çıktı yoktu , ( $?returing 1 göre başarısız oldu chmod 600 ~/.ssh/id_rsa* . Ben şanssız denedim . Sıfırdan yeni bir anahtar üretti ssh-keygenve sonra çalıştı. Üzgün ​​ama en azından Tamam şimdi (Başarısız olan anahtar kullanılarak oluşturuldu ssh-keygen -t rsa -b 4096 -C "your_email@example.com", sadece ssh-keygenbu sefer koştum )
GabLeRoux

1
Bu sırayla aşağıdakileri yapmak zorunda kaldım: (gerekirse, yeni ssh anahtarı oluşturun ve .pub anahtarını github'a eklediğinizden emin olun), sonra cd ~/.ssh && ls -lah.ssh klasöründeki okuma / yazma izinlerini görmek için tüm anahtarları değiştirin ) chmod 400 myKeyo zaman ABSOLUTE yolunu ssh-add **ABSOLUTE**pathToKey eklemezseniz, çalışmaz. Sonra, ile testssh -vT git@github.com
jungledev

3

Yukarıdaki hususlara ek olarak, alternatif bir kabuk kullanıyorsanız, bunu ssh-agent yüklemek için yapılandırmanız gerekebileceğini buldum. Örneğin, Zsh içinde, tek eklemelisiniz ssh-agentiçin pluginsin .zshrc.

Bu yöntem, en son Zsh ile Ubuntu 17.10'da harika çalışıyor

Diğerleri id_ed25519anahtarlarla, rsaeklenti olmadan çalıştığını keşfetti . Ekledikten sonra ssh-agentiçin ~/.zshrc, ile kabuk yeniden exec "$SHELL"ve çalıştırma:ssh-add ~/.ssh/id_ed25519

Enter passphrase for ~/.ssh/id_ed25519: 
Identity added: ~/.ssh/id_ed25519 (user@host)

Ssh-agent eklentisini buradaki talimatları kullanarak .zshrc'ye ekleyin: github.com/robbyrussell/oh-my-zsh/tree/master/plugins/ssh-agent
Kariem
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.