.ssh / config: “Opsi konfigurasi buruk: UseKeychain” di Mac OS Sierra 10.12.6

91

Saya mencoba mengatur konfigurasi ssh saya di Mac (Mac OS Sierra 10.12.6) sedemikian rupa sehingga menyimpan frasa sandi untuk kunci ssh saya di keychain. Sebelumnya saya bisa melakukannya dengan

ssh-add -K ~/.ssh/id_rsa

Namun belakangan ini tampaknya tidak berfungsi lagi. Mengikuti artikel ini tampaknya ada perubahan dalam perilaku konfigurasi ssh di Mac OS> 10.12.2 dan cara yang disarankan untuk memperbaiki masalah ini adalah dengan menambahkan UseKeychain yeske konfigurasi ssh Anda. Jadi, inilah .ssh/configbagian saya Host *:

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

Saat mencoba ssh ke host asing, saya mendapatkan pesan kesalahan berikut:

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

Adakah ide mengapa ini terjadi dan bagaimana saya bisa memperbaikinya? Terima kasih!

Michael Lihs
sumber

Jawaban:

170

Coba tentukan pilihan lain, yaitu IgnoreUnknownseperti di bawah ini:

Host *
  IgnoreUnknown UseKeychain
  UseKeychain yes

Anda dapat menemukan info lebih lanjut tentang ini di sini .

Jika Anda sudah memiliki IgnoreUnknownnilai, gunakan nilai yang dipisahkan koma

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes
mic4ael
sumber
2
Lewati file konfigurasi melalui ssh -F /dev/null ...sementara, ini berfungsi untuk saya.
Itachi
1
Menambahkan IgnoreUnknown UseKeychainmasih tidak berhasil untuk saya, jadi saya hapus UseKeychain yessemuanya dan berhasil. Tidak yakin ini adalah pendekatan terbaik.
Hank Chan
Solusi ini berhasil untuk saya, tetapi saya tidak mengerti mengapa ini berubah tiba-tiba? Saya hanya masuk ke akun DigitalOcean saya.
anjanesh
Saya menghapus semua opsi dan meninggalkan Host dan IdentityFile. Github mengatakan untuk menggunakan opsi itu tetapi mereka juga tidak berhasil untuk saya. Terima kasih.
Natus Drew
51

Jawaban yang diterima membantu saya tetapi tidak sepenuhnya menyelesaikan masalah saya karena saya memiliki banyak pilihan yang buruk. Berikut adalah contoh tampilan jika Anda mengalami masalah ini:

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa
Dallas Caley
sumber
Hanya ingin meninggalkan ini di sini: Saya juga mengalami masalah saat menghubungkan dari jarak jauh dan ini ternyata masalahnya. Masalah ini dihasilkan dengan menggunakan alat Sourcetree Bitbucket, yang telah saya copot tetapi meninggalkan sisa-sisa yang menghalangi koneksi jarak jauh
Connor
Terima kasih! Bekerja pada MacOS mojave 10.14.6
brendan
Mengapa ini berhasil? Saya memiliki masalah yang sama dan jawaban ini memperbaikinya, tetapi saya masih tidak tahu mengapa ini berhasil atau mengapa saya memiliki masalah di tempat pertama ..
Nishant Mehta
2

Saya baru saja mengomentari baris dan scp / ssh mulai bekerja untuk saya lagi.

Bryan
sumber
1

Alih-alih ssh-tambahkan ketik 'open .ssh / id_rsa' dan tambahkan ke rantai kunci

Opsi UseKeychain tidak pernah muncul seburuk konfigurasi saya, tetapi pada awalnya saya memiliki, sebelum host lain, yang berikut ini

Host *
UseKeychain yes 

Host (...)
Ricardo Mendes
sumber
FYI, saya pikir itu urutan yang salah. Jika Anda menulis seperti itu, *aturan Anda akan diabaikan. man ssh_configmengatakan, "Sejak nilai pertama yang diperoleh untuk setiap parameter digunakan, lebih banyak deklarasi khusus host harus diberikan di dekat awal file, dan default umum di akhir."
Telemakus
FYI, saya sudah seperti itu selama hampir satu dekade dengan puluhan server dan tidak pernah mengalami masalah. Saya ssh ke begitu banyak server setiap hari. Namun, jika ada yang menemukan masalah kehidupan nyata dengan konfigurasi itu, mungkin itu masalahnya.
Ricardo Mendes
0

Itu modal -K coba huruf kecil -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)
Tomachi
sumber
ssh-addmemang memiliki -Kopsi setidaknya di macOS. 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

Saya memiliki masalah yang sama dan saya menyadari bahwa ketika mulai menghasilkan kunci dengan mengikuti instruksi. Langkah pertama adalah ini.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Saya tidak mengubah alamat email tetapi tentu saja saya lupa melakukannya: D. Jadi pastikan untuk tidak melupakan langkah itu dan semuanya akan baik-baik saja.

Mohammed Ramadan
sumber