.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.