Saya menginstal kunci pribadi SSH saya ~/.ssh/id_rsa
dan mengatur izinnya 0600
. Ketika saya terhubung ke server SSH yang menggunakan kunci pribadi saya di Terminal.app via ssh
, sebuah dialog muncul dan meminta saya untuk memasukkan kata sandi saya untuk mengakses id_rsa
file:
Saya melihat dialog yang sama ketika saya terhubung ke server FTP dengan klien GUI Interarki.
Pembaruan: Saya melihat dialog ini setiap kali saya terhubung terlepas dari apakah saya memeriksa "Ingat kata sandi di gantungan kunci saya". Muncul dua kali lagi jika tombol OK diklik terlepas dari apa yang dimasukkan di bidang kata sandi.
Ketika saya melonggarkan izin ini untuk, katakanlah, 0640
saya tidak lagi melihat dialog yang meminta kata sandi saya tetapi ssh
dibatalkan dengan kesalahan berikut:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ @ PERINGATAN: FILE KUNCI PRIVATE YANG TIDAK DILINDUNGI! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ Izin 0640 untuk '/ Pengguna / nama pengguna /.ssh/id_rsa' terlalu terbuka. Disarankan bahwa file kunci pribadi Anda TIDAK dapat diakses oleh orang lain. Kunci pribadi ini akan diabaikan. izin buruk: abaikan kunci: / Pengguna / nama pengguna /.ssh/id_rsa
Saya menemukan dialog kata sandi sangat mengganggu dan saya yakin harus ada beberapa cara untuk menghindari harus mengabaikan dialog ini SSH perlu mengakses id_rsa
file.
Catatan: Saya menjalankan Mac OS X 10.6.8.
sumber
Pertama, jalankan
ssh-add -K
dan periksa apakah ini memperbaiki masalah Anda.Jika tidak:
Menghapus file rsa_id.pub dan membuat ulang yang baru (harus dalam ~ / .ssh /):
Izin yang dipastikan disetel ke 600 untuk id_rsa dan id_rsa.pub (harus dalam ~ / .ssh /):
Jalankan perintah berikut:
Setelah melakukan ini, saya tidak lagi diminta untuk memberikan kata sandi kunci pribadi saya. Tampaknya ini benar-benar memasukkan kata sandi kunci pribadi di lokasi gantungan kunci yang benar untuk OS X untuk digunakan.
sumber
chmod 600
(bukannya 644) agar bisa berfungsissh-add -K
menyelesaikan masalah sayaDalam kasus saya
ssh-add -K
tidak melakukan trik, saya harus menentukan kuncinya:sumber
-K
pilihan lagi. Solusi Anda memperbaikinya. Saya bertanya-tanya mengapa saya perlu melakukan ini. Tidak pernah ada kata sandi yang diminta.-K
bendera itu berfungsi untuk saya di Sierra 10.12.2Untuk macOS 10.12 Sierra
ssh-add -K
harus dijalankan setelah setiap reboot. Untuk menghindari ini, buat~/.ssh/config
dengan konten ini.Apple telah menambahkan Technote 2449 yang menjelaskan apa yang terjadi.
Sunting: Rupanya menentukan host dan kunci tidak perlu. Menambahkan ini saja sudah cukup.
sumber
AddKeysToAgent
di tingkat atas~/.ssh/config
.Anda harus memasukkan frasa sandi untuk kunci pribadi di suatu tempat, dan OS X menggunakan ssh-agent secara default.
Jika Anda ingin menggunakan ssh-agent tetapi ingin menghindari kotak dialog gui, Anda dapat menggunakan ssh-add untuk menambahkan frasa sandi ke agen dan kemudian ssh seperti biasa.
Jika tidak ingin menggunakan ssh-agent dan sebagai gantinya memiliki ssh prompt untuk frasa sandi, maka hapus pengaturan variabel lingkungan SSH_AUTH_SOCK.
sumber
ssh-add -K
saya tidak harus memasukkan kata sandi saya untuk menghubungkan tetapi prompt masih muncul; Saya hanya mengabaikannya.Saat Anda mengendurkan izin, kuncinya diabaikan. Anda tidak akan mendapatkan apa-apa dengan melakukan ini.
Jika Anda ingin menggunakan kunci tanpa harus memasukkan kata sandi setiap kali, Anda memiliki dua opsi.
Jika Anda memeriksa "Ingat kata sandi di gantungan kunci saya", Anda tidak perlu mengetik kata sandi setiap kali: kata sandi akan disimpan di gantungan kunci dengan semua kata sandi Anda yang lain. Ini adalah opsi yang disarankan.
Anda dapat membuat file kunci pribadi tanpa kata sandi. Anda dapat mengubah file kunci pribadi yang ada sehingga tidak dilindungi kata sandi (mengubah kata sandi hanya memengaruhi file kunci, bukan kunci itu sendiri). Dari baris perintah, jalankan
ssh -p
, masukkan frasa sandi yang ada, dan kemudian biarkan kata sandi yang baru kosong. Ada risiko keamanan karena memiliki frasa sandi kosong: siapa pun yang dapat mengakses file kunci pribadi Anda (misalnya dengan mengakses cadangan Anda) dapat menggunakannya secara instan.sumber
jika Anda telah menambahkan kunci pribadi Anda ke direktori source ~ / .ssh, dan Anda telah memasukkan ssh-add -K untuk menambahkannya ke gantungan kunci, dan Anda memiliki konten kunci publik Anda disalin ke .ssh / berwenang_keys (untuk yang benar akun) file di server target kotak dialog hilang.
ini merupakan kombinasi yang rumit dari file, izin, lokasi, dan perintah sehingga dapat memakan waktu. saya tidak akan terburu-buru mengambil kesimpulan tentang bug.
sumber
Saya memiliki masalah yang persis sama pada Lion (Mac OS X 10.7). Saya pikir itu adalah bug ... Jika otentikasi ssh adalah kata sandi, klien harus melalui kunci publik terlebih dahulu yang normal. Namun, meskipun Anda memilih untuk menyimpan frasa sandi pada gantungan kunci (yang tidak diperlukan untuk otentikasi kata sandi) lain kali ketika koneksi ssh baru dibuat, Anda diminta lagi untuk kata sandi ...
sumber
Seharusnya tidak perlu membuat ulang kunci publik Anda. Anda cukup melakukan dua perintah ini:
Pada dasarnya, Anda perlu memperketat izin pada file kunci publik, dan Anda perlu menambahkan kunci Anda ke agen otentikasi OSX.
sumber
Dalam versi terbaru dari macOS (10.12.2 - Sierra) ini adalah perbaikan yang mudah. Cukup edit ~ / .ssh / config Anda dan aktifkan opsi UseKeychain:
Simpan dan selesaikan.
sumber
Masalah ini terjadi pada sistem OS X 10.7.4 saya ketika ssh-agent meninggal. Reboot memperbaiki masalah. (Anda dapat mencoba memulai kembali ssh-agent, tetapi saya tidak tahu apakah Keychain cukup pintar untuk mengambil soket ssh-agent yang baru.)
sumber
Pastikan bahwa ~ / .ssh / adalah chmod 700.
Pastikan file ~ / .ssh / id * keduanya chmod 600.
Jalankan / Aplikasi / Utilitas / Keychain Access.app dan perbaiki keychain.
Keluar. (Mem-boot ulang bukan ide yang buruk)
Gabung
Jika masalah berlanjut, pindahkan file ~ / .ssh / id * yang ada ke Desktop dan coba buat kunci baru menggunakan
ssh-keygen -t dsa -f ~/.ssh/id_dsa -C [email protected]
dan lihat apakah kunci baru berfungsi lebih baik.Saya menggunakan Lion, tetapi Macan Tutul Salju IIRC bekerja dengan cara yang sama.
ps - siapa pun yang menyarankan menggunakan kata sandi ssh kosong harus dipaksa memakai tanda sehingga orang lain tahu untuk tidak menerima saran dari mereka.
sumber
Regenerasi kunci publik sepertinya tidak bekerja untuk saya (10.8), juga tidak menghasilkan kunci SSH baru. Jika saya, misalnya, menjalankan git pull setelah mengunci rantai masuk, kotak dialog akan muncul untuk meminta kata sandi ke kunci alih-alih terlebih dahulu mencoba mengambil kata sandi dari gantungan kunci masuk.
Namun, jika saya membunuh ssh-agent terlebih dahulu, saya diminta untuk memasukkan kata sandi gantungan kunci masuk yang kemudian mengambil kata sandi kunci SSH.
sumber
Temuan menarik lainnya adalah jika Anda menyalin & menempel konten file PEM, Anda mungkin memiliki akhir yang hilang tanda hubung. Jadi ingatlah untuk menambahkan baris terakhir sebagai,
sumber
Saya harus melakukan langkah-langkah berikut untuk membuatnya berfungsi.
Perintah terakhir harus menghasilkan sesuatu seperti:
Hi <user>! You've successfully authenticated, but GitHub does not provide shell access.
sumber
Saya memiliki masalah yang sama. Saya sepertinya telah memperbaikinya dengan melakukan ini.
1) Dicadangkan dengan mengganti nama ke file id_dsa dan id_dsa.pub lama.
2) Menjalankan keygen baru dengan frasa sandi kosong.
Bekerja dengan pekerjaan launchctl periode pemantauan server jarak jauh serta masuk dari ssh di terminal.
Saya memiliki fungsi authme fungsi cepat di terminal saya karena saya memiliki yang berikut di .bash_profile saya
Jadi autotes cepat remoteserver.com akan menyalin kunci jarak jauh baru.
Saya pikir bug ini ada hubungannya dengan frasa sandi yang tidak dikonversi (Macan Tutul Salju saya yang lama tidak memilikinya).
Coba itu dan lihat apakah itu membantu.
Tidak perlu lebih dari 10 menit untuk melakukannya. Saya menghabiskan waktu di Google untuk melihat apakah ada yang menyebutkan hal ini. Situs ini adalah satu-satunya!
Owain.
sumber
Saya punya masalah serupa. Ternyata kunci pribadi yang saya gunakan dalam format yang salah. Saya menggunakan Putty Key Generator pada mesin Win saya dan ssh pada OS X mengharapkan format yang berbeda - Buka format SSH.
Ternyata alat yang saya gunakan untuk membuat kunci ini (Putty Key Generator) memiliki opsi untuk mengubah kunci privat saya ke format yang diperlukan oleh Open SSH.
Sederhana seperti:
File yang akan Anda simpan berisi kunci pribadi asli Anda dalam format yang sesuai (OpenSSH).
sumber
Harap pastikan bahwa:
Semoga ini bisa menyelesaikan masalah.
sumber
Gunakan kunci .pem daripada kunci .ppk.
sumber