.ssh / config: "Kötü yapılandırma seçeneği: Mac OS Sierra 10.12.6'da Anahtar Zinciri Kullan"


92

Mac'teki ssh yapılandırmamı (Mac OS Sierra 10.12.6) ssh anahtarımın parolasını anahtar zincirinde saklayacak şekilde kurmaya çalışıyorum. Daha önce bunu yapabiliyordum

ssh-add -K ~/.ssh/id_rsa

Ancak son zamanlarda bu artık işe yaramıyor gibi görünüyor. Bu makalenin ardından , Mac OS> 10.12.2'de ssh yapılandırmasının davranışında bir değişiklik var gibi görünüyor ve bu sorunu düzeltmenin önerilen yolu UseKeychain yes, ssh yapılandırmanıza eklemektir . İşte benim .ssh/configbölümüm Host *:

Host *
  Port 22
  ServerAliveInterval 60
  ForwardAgent yes
  IdentityFile ~/.ssh/id_rsa
  AddKeysToAgent yes
  UseKeychain yes

Yabancı bir ana bilgisayara ssh yapmaya çalışırken aşağıdaki hata mesajını alıyorum:

$ ssh my-host
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain

Bunun neden olduğu ve nasıl düzeltebileceğime dair bir fikriniz var mı? Teşekkürler!

Yanıtlar:


172

Aşağıdaki IgnoreUnknowngibi başka bir seçenek belirlemeye çalışın :

Host *
  IgnoreUnknown UseKeychain
  UseKeychain yes

Bununla ilgili daha fazla bilgiyi burada bulabilirsiniz .

Zaten bir IgnoreUnknowndeğeriniz varsa, virgülle ayrılmış değerler kullanın

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes

2
Yapılandırma dosyasını ssh -F /dev/null ...geçici olarak atlayın, benim için çalışıyor.
Itachi

1
Eklemek IgnoreUnknown UseKeychainbenim için hala çalışmıyor, bu yüzden UseKeychain yestamamen kaldırıyorum ve işe yarıyor. Bunun en iyi yaklaşım olduğundan emin değilim.
Hank Chan

Bu çözüm benim için çalıştı ama neden birdenbire bu değişti anlamıyorum? Sadece DigitalOcean hesabıma giriş yapıyorum.
anjanesh

Tüm seçenekleri kaldırdım ve Host ve IdentityFile'ı bıraktım. Github bu seçenekleri kullanmamızı söylüyor ama benim için de işe yaramıyor. Teşekkürler.
Natus Drew

51

Kabul edilen cevap bana yardımcı oldu, ancak sorunumu tamamen çözmedi çünkü kötü olan birden fazla seçeneğim vardı. İşte bu sorunu yaşıyorsanız neye benzeyebileceğine dair bir örnek:

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

Sadece bunu burada bırakmak istiyorum: Uzaktan bağlanmakta da sorun yaşadım ve sorun da bu oldu. Sorun, Bitbucket's Sourcetree aracını kullanarak oluşturuldu, bunu kaldırdığım ancak uzaktan bağlantıyı engelleyen kalıntılar bıraktı
Connor

Teşekkürler! MacOS mojave 10.14.6 üzerinde çalıştı
brendan

Bu neden işe yarıyor? Ben de aynı sorunu yaşadım ve bu cevap onu çözdü, ancak bunun neden işe yaradığını veya ilk başta neden sorun yaşadığımı hala bilmiyorum ..
Nishant Mehta

2

Sadece satırı yorumladım ve scp / ssh benim için tekrar çalışmaya başladı.


1

Ssh-add türü 'open .ssh / id_rsa' yerine ve anahtar zincirine ekleyin

UseKeychain seçeneği yapılandırmamda hiç bu kadar kötü görünmedi, ancak başlangıçta, başka herhangi bir ana bilgisayardan önce aşağıdakileri yaptım

Host *
UseKeychain yes 

Host (...)

Bilginize, bunun yanlış sıra olduğunu düşünüyorum. Bu şekilde yazarsanız, *kurallarınız göz ardı edilecektir. man ssh_config"Her bir parametre için elde edilen ilk değer kullanıldığından, dosyanın başlangıcına yakın daha fazla ana bilgisayara özgü bildirim ve sonunda genel varsayılanlar verilmelidir." diyor.
Telemachus

Bilginize, neredeyse on yıldır düzinelerce sunucuyla böyle yaşadım ve hiç sorun yaşamadım. Her gün çok sayıda sunucuya ssh. Ancak, herhangi biri bu yapılandırmayla gerçek bir yaşam sorunu bulursa, belki o zaman bu olur.
Ricardo Mendes

0

Başkent -K küçük harf deneyin -k !!

ssh-add -k ~/.ssh/id_rsa

Enter passphrase for /Users/tom/.ssh/id_rsa:
Identity added: /Users/tom/.ssh/id_rsa (/Users/tom/.ssh/id_rsa)

ssh-add-Ken azından macOS'ta seçeneği var . man ssh-add:-K When adding identities, each passphrase will also be stored in the user's keychain. When removing identities with -d, each passphrase will be removed from it.
uasi

0

Aynı sorunu yaşadım ve talimatları izleyerek anahtarı oluşturmaya başladığımda fark ettim. İlk adım budur.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

E-posta adresini değiştirmedim ama tabii ki bunu yapmayı unuttum: D. Bu yüzden o adımı unutmadığınızdan emin olun, her şey yoluna girecek.

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.