Saya telah menggunakan otentikasi kunci publik pada server saya untuk sementara waktu sekarang, tetapi saya mengalami masalah pada 'klien' baru yang mencoba terhubung ke github . Saya telah membaca banyak utas untuk memverifikasi bahwa izin saya sudah diatur dengan benar dan telah menghasilkan kunci baru untuk github. Masalah yang saya hadapi adalah ssh meminta passphrase saya walaupun saya tidak menetapkan passphrase. Saya bahkan telah membuat ulang kuncinya menjadi 100% yakin bahwa saya tidak memasukkan kata sandi.
ssh -vvv memberikan output terkait berikut:
debug1: Offering public key: /home/me/.ssh/github.pub
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 1495
debug1: Remote: Forced command: gerve mygithubusername c3:71:db:34:98:30:6d:c2:ca:d9:51:a8:c6:1b:fc:f7
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp c3:71:db:34:98:30:6d:c2:ca:d9:51:a8:c6:1b:fc:f7
debug3: sign_and_send_pubkey
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/me/.ssh/github.pub':
Saya telah mencari tahu mengapa ini memberitahu saya PEM_read_PrivateKey gagal, tetapi saya tidak dapat menemukan solusi.
Saya tidak menggunakan agen atau apa pun. Saya mengkonfigurasi file ~ / .ssh / config saya mirip dengan yang berikut:
Host github
Host github.com
Hostname github.com
User git
PubkeyAuthentication yes
IdentityFile /home/me/.ssh/github.pub
Terima kasih sebelumnya.
sumber
Jawaban:
Ketika Anda menggunakan
IdentityFile
opsi di~/.ssh/config
titik yang Anda tuju ke kunci privat, bukan publik .Dari
man ssh_config
:Jadi,
~/.ssh/config
entri Anda akan terlihat seperti:sumber
Kami mengalami masalah ini, dan itu merupakan kesalahan cut-and-paste.
%
Simbol tunggal telah ditambahkan ke akhir file kunci (jadi baris terakhir adalah-----END RSA PRIVATE KEY-----%
). Tidak ada kesalahan atau info debug atau apa pun untuk menyarankan bahwa kunci itu panjangnya salah atau diformat dengan buruk, tetapi ssh meminta frasa sandi.sumber
Dalam kasus saya, masalahnya adalah klien SSH saya tidak mendukung kunci ED25519. Solusinya adalah membuat kunci RSA dan menggunakannya.
Masalah ini terjadi dengan OpenSSH <6.5 (lari
ssh -V
) dan Putty <0.68 .Ini dapat dilihat pada output berikut
ssh -vvv
:The blok pertama menjelaskan apa dukungan klien, dan yang kedua apa yang mendukung server yang . Seperti yang Anda lihat, tidak ada menyebutkan 'curve25519' di bagian atas, yang menunjukkan bahwa klien tidak mendukung itu.
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 kasus kami platform hosting). Untuk beberapa alasan ini memicu prompt untuk kunci ssh tidak ada.
sumber