SSH meminta frasa sandi pada kunci publik tanpa kata sandi yang ditetapkan


27

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.


@jasonwryan, silakan pindahkan komentar Anda ke sebuah jawaban. Saya yakin Anda benar.
andcoz

Ini agak sepele, dan saya bodoh karena tidak memperhatikan ini sebelumnya, tapi mudah-mudahan jawaban Anda akan memberikan bantuan kepada orang lain di masa depan.
earthmeLon

Jawaban:


26

Ketika Anda menggunakan IdentityFileopsi di ~/.ssh/configtitik yang Anda tuju ke kunci privat, bukan publik .

Dari man ssh_config:

IdentityFile
Menentukan file dari mana DSA pengguna, ECDSA atau identitas otentikasi DSA dibaca. Standarnya adalah ~ / .ssh / identitas untuk protokol versi 1, dan ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa dan ~ / .ssh / id_rsa untuk protokol versi 2.

Jadi, ~/.ssh/configentri Anda akan terlihat seperti:

Host github.com
Hostname github.com
User git
PubkeyAuthentication yes
IdentityFile /home/me/.ssh/github

2
Saya doofus. Satu-satunya rahmat saya yang menyelamatkan adalah bahwa ini dapat membantu 'doofus' lain di masa depan.
earthmeLon

1
Ini kesalahan yang cukup mudah untuk dilakukan ...
jasonwryan

1
Hanya membantu saya, jadi saya menghargai jawabannya!
Topher Fangio

1
Warna saya doofus.
jeremiah

Ini cocok untuk saya.
unity100

2

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.


1
Hal serupa terjadi pada saya. Saya menyalin kunci dari terminal lain dan menyalin terlalu banyak tanpa menyadarinya.
Guillermo

1

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:

debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96
debug2: kex_parse_kexinit: hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com

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.


0

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.