Saya tahu jawabannya ada di luar sana, tetapi saya cukup bodoh dan Unix dan mungkin tidak akan mengenali solusinya jika itu mengenai wajah saya.
Saya menggunakan Mac, menghubungkan ke server SVN melalui tunneling SSH. Saya harus ssh-add privateKey.txt
setiap kali saya ingin terhubung ke server SVN (Cornerstone dan Xcode terhubung ke SVN).
Apakah ada cara untuk "menyimpan" kunci di suatu tempat sehingga saya tidak perlu melakukan ini setiap saat? Tambahkan ke Keychain saya? Beberapa file konfigurasi? Mulai skrip?
ssh-add
tidak dapat mengambil-K
argumen.Menyimpan Frasa Sandi di Gantungan Kunci
Untuk menyimpan kata sandi untuk kunci default Anda di Keychain, buka Terminal dan jalankan:
Dan untuk menyimpan frasa sandi untuk menjalankan kunci yang berbeda:
Ketika diminta kata sandi Anda, masukkan dan hanya itu.
Anda tidak perlu menjalankan ssh-add atau memasukkan kata sandi Anda lagi.
Jawaban diambil dari situs ini: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
sumber
Setelah banyak eksplorasi, saya rasa saya telah menemukan jawaban untuk masalah ini sepenuhnya. Pertama, pastikan Anda melakukannya
ssh-add -K ~/.ssh/your_key_here
. Ini menambahkan kunci ke rantai kunci Anda. Di beberapa tempat, saya telah membaca bahwa ini sudah cukup, tetapi saya tidak yakin. Ini juga khusus untuk mac, jadi jika Anda perlu melakukan ini pada rasa unix lain, Anda tidak perlu opsi ini.Untuk ukuran yang baik, saya mengedit
~/.ssh/config
file (Anda mungkin harus membuatnya) untuk menunjuk ke semua kunci yang saya miliki. Milik saya memiliki yang berikut:Menurut halaman manual untuk ssh_config, ia akan mencobanya secara berurutan. Saya tidak yakin apakah tiga default pertama yang saya cantumkan perlu ada di sana, tetapi saya tetap menyertakannya.
sumber
-K
bendera di mac os x untukssh-add
-K
bendera pada OS X untukssh-add
. Selain itu, ini harus menjadi jawaban yang dipilih./usr/bin/ssh-add
homebrew yang disediakan/usr/local/bin/ssh-add
tidak menyediakan opsi -K.~/.ssh/config
ada, tidak perlu menjalankanssh-add
perintah setiap kali setelah reboot mesin.Sejak macOS 10.12.2 Anda dapat menggunakan
UseKeychain
opsi ini. Baca lebih lanjut di sini atau lihatman ssh_config
.Jadi lakukan saja berikut ini:
echo "UseKeychain yes" >> ~/.ssh/config
sumber
Saya tidak memiliki banyak pengalaman dengan Mac, jadi tidak yakin apakah versi ini cocok untuk Anda, tetapi lihatlah di http://www.phil.uu.nl/~xges/ssh/
Jika aplikasi khusus ini tidak berfungsi, lagipula itulah yang Anda cari -
ssh agent
. Pada kotak mirip unix, Anda ingin memulai seluruh pengelola jendela Anda melalui itu, untuk mendapatkan efek global, tetapi mungkin tidak dapat dilakukan di osx.Beberapa info lebih lanjut: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
sumber
sshkeychain adalah salah satu kemungkinan. menginstal dengan baik dengan macports menggunakan:
itu menggunakan rantai kunci untuk menyimpan kata sandi, dan Anda dapat meluncurkannya saat memulai sesi login Anda (menggunakan pada peluncuran pertama klik kanan-kanan biasa di ikon dok + "luncurkan saat startup")
Perhatikan bahwa svn Apple menggunakan rantai kunci untuk menyimpan kata sandi tetapi tidak harus biner svn yang akan Anda buat dengan macports.
sumber
Tambahkan kunci Anda ke rantai kunci dengan menjalankan:
dan edit
~/.ssh/config
file config ( ) ssh Anda untuk secara otomatis memuat kunci dari key chain ke ssh-agent (AddKeysToAgent yes
opsi) dan simpan frasa sandi di keychain (UseKeychain yes
opsi):sumber