Saya memiliki pasangan kunci publik / pribadi. Tak satu pun dari mereka memiliki jenis frasa sandi yang terkait dengan mereka.
Setiap kali saya mencoba ssh menggunakan privat atau publik (dan saya cukup yakin saya seharusnya hanya menggunakan kunci publik), saya ditanyai frasa sandi, dan tentu saja tidak dapat terhubung.
Adakah yang tahu cara menyiasatinya? Apakah saya mengetik beberapa perintah secara tidak benar? Saya mencoba ssh ke server yang saya setup di file ~ / .ssh / config saya (dengan benar, karena setup yang sama persis ini bekerja di server lain) dengan kunci yang disimpan dalam ~ / .ec2 / key.ppk
Saya juga mencoba menggunakan puttygen.exe untuk menghasilkan kunci pribadi baru DENGAN frasa sandi, dan kemudian menggunakan kunci itu, dan ketika saya mengetikkan frasa sandi, masih gagal.
ssh-rsa AAAAB3NzaC1y...... etc
format dari openssh, kan? Saya memiliki format ini di kunci pribadi saya. Header menyatakan:PuTTY-User-Key-File-2: ssh-rsa Encryption: none Comment: imported-openssh-key Public-Lines: 6
Tetapi file tersebut disimpan sebagai file id_rsa. Apakah ini berarti bahwa ini masih dalam format .ppk, meskipun nama file tersebut hanyaid_rsa
.ppk
, itu masih dalam format dempul, yang membingungkan saya, karena itu menunjukkan semua jenis kesalahan, tetapi tidak memberi saya petunjuk langsung bahwa masalahnya adalah dengan format kunci. : stackoverflow.com/a/44391850/4752883Anda bisa menjalankan ssh-agent. Lihat di sini untuk diskusi.
Versi singkat yang bekerja untuk saya (dalam bash):
Saya mengambil 3 baris yang ditampilkannya, dan mengeksekusinya. Cara lain untuk melakukannya adalah mengambil output -s:
Lalu saya menambahkan kredensial saya ke dalamnya:
Sekarang agen memasok kredensial alih-alih saya harus mengetikkan frasa sandi saya.
Saya percaya ssh-agent hilang ketika shell melakukannya, jadi ini harus ditulis pada saat startup untuk kenyamanan maksimal. The Link saya berbagi menggambarkan scripting juga.
sumber
Ketika Anda mengatur kunci publik Anda, Anda mungkin (mungkin tidak sengaja) mengaturnya dengan frasa sandi.
Anda mungkin perlu memulai baru - saya belum menggunakan puttygen, tetapi Anda dapat menghapus (atau mengganti nama) kunci publik di direktori .ssh Anda, gunakan
ssh-keygen
untuk membuat yang baru (pastikan tidak memberikan kata sandi), lalu bagikan public_key ke file otor_keys di server yang Anda coba sambungkan.Anda mungkin perlu juga menghapus kunci-frasa sandi lama dari file kunci-resmi di server yang Anda sambungkan.
sumber
Pastikan kunci pribadi
id_rsa
tidak memiliki jeda baris tambahan pada akhirnya, dalam beberapa kasus jeda baris tambahan akan membuat ssh-keygen untuk meminta frasa sandi, coba ini:uji:
sumber
-----END RSA PRIVATE KEY-----
menyebabkannya meminta kata sandi pada kunci yang tidak memiliki satu set!Satu hal yang perlu diperiksa, jika file sshd_config Anda memiliki StrictModes = yes, maka direktori $ HOME atau direktori $ HOME / .ssh tidak boleh ditulis oleh grup atau yang lainnya. Kalau tidak, otentikasi gagal apa pun yang terjadi.
sumber
Saya membuat kesalahan dengan tidak sengaja menimpa file ~ / .ssh / id_rsa saya dengan ~ / .ssh / id_rsa.pub saya. Melakukan hal itu akan menyebabkan ssh meminta frasa sandi.
sumber
Saya mengalami masalah ini beberapa hari yang lalu. Secara khusus, saya mencoba untuk menyalin / menempelkan kunci AWS pribadi dari satu mesin ke yang lain.
Saya memiliki kebiasaan buruk baik kehilangan karakter pertama atau terakhir. Ternyata jika Anda tidak mengambil setiap tanda hubung di akhir kunci pribadi Anda - meskipun itu tidak ada hubungannya dengan teks kunci itu sendiri - Anda akan diminta untuk frasa sandi untuk kunci pribadi hingga menambahkan setiap karakter dari kunci yang Anda salin dari (dalam kasus saya ini berarti menambahkan tanda hubung tunggal ke akhir kunci.)
Saya kira ini berarti bahwa praktik terbaik adalah SSH file teks di kawat daripada mencoba untuk menyalin dan menempel di antara jendela Terminal.
sumber
Di OSX saya bisa menjalankan:
$ ssh-add ~/.ssh/id_rsa Enter passphrase for /Users/me/.ssh/id_rsa: `Identity added: /Users/mikekilmer/.ssh/id_rsa (/Users/mikekilmer/.ssh/id_rsa)
Kata sandi disimpan oleh aplikasi Keychain Access, yang ada di folder Applications> Utilities. Saya baru saja masuk
id_
di kolom pencarian.sumber
Coba lihat file log di server. Lihat / var / log / auth log (mis., / Var / log / authlog untuk OpenSSH, walaupun saya telah melihat beberapa sistem operasi menggunakan Portable OpenSSH dan menggunakan /var/log/auth.log) dan periksa akhir file itu.
Penyebab paling umum yang saya lihat adalah izin yang salah (seperti yang dicatat oleh jawaban TD1 ), meskipun masalah lain mungkin dengan kunci publik (disimpan di server) tidak berada di file yang benar, atau kunci yang dikomentari, atau nama pengguna salah eja.
Mungkin juga bermanfaat (untuk pemecahan masalah) untuk memberikan frasa sandi akun sementara, hanya untuk memverifikasi bahwa akun tersebut dapat berhasil masuk saat Anda melakukannya.
Jika melihat file log tidak dengan cepat membawa Anda ke resolusi, saya sarankan memposting pertanyaan baru (karena ini adalah pertanyaan umum yang hebat) yang memang menyertakan rincian spesifik dari file log, sehingga arahan yang lebih spesifik dapat diberikan.
sumber
Di tim saya, ketika ini terjadi itu bukan masalah dengan apa pun secara lokal. Kunci ssh dan / atau akses pengguna belum dikonfigurasikan dengan benar di server yang disambungkan (dalam hal ini platform hosting kami). Untuk beberapa alasan ini memicu prompt untuk kunci ssh tidak ada.
sumber