Tidak dapat masuk dengan kunci SSH-RSA


2

Posting ini mengikuti pertanyaan ini: Otentikasi ditolak: kepemilikan atau mode buruk untuk file /var/git/.ssh/authorized_keys .

Masalah yang terekspos di sana diselesaikan (tentang mode file .sshfolder.

Tetapi masalah lain tetap ada jadi saya membuat pertanyaan baru:

Ketika saya mencoba masuk (dengan opsi verbose), semua tampaknya berfungsi dengan baik tetapi pada akhirnya, inilah yang terjadi:

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/remi/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/remi/.ssh/id_dsa
debug1: Trying private key: /home/remi/.ssh/id_ecdsa
debug1: Trying private key: /home/remi/.ssh/id_ed25519
debug2: we did not send a packet, disable method
debug1: Next authentication method: password

Saya tidak mengerti karena kalimat ini sepertinya tidak masuk akal bagi saya:

  • we sent a publickey packet, wait for reply
  • we did not send a packet, disable method

Ide bagus untuk pertanyaan terpisah. Saya melihat output debug (berhasil) login saya. Saya melihat " we did not send a packet, disable methoduntuk dsa dan we send a publickey packet, wait for replyuntuk rsa . Seberapa pasti Anda kunci-kunci pada server dan klien dipasangkan dengan benar ??
Otheus

Hal ini menunjukkan bahwa server SSH tidak dapat mengakses dengan authorized_keysfile ... Apakah SSH server Anda berjalan di bawah account lain selain root?

@Otheus Saya baru saja memeriksa lagi, pasangan cocok
Rémi B.

@Nasha Ya, masuk dengan pengguna lain berfungsi. Misalnya, masuk dengan nama pengguna yang sama dengan klien berfungsi dengan baik
Rémi B.

1
Menarik. Saya tidak melihat garis seperti debug2: key: /home/remi/.ssh/id_rsa (0x7fb7031da7e0). Itu mungkin ada di output di atas titik yang Anda posting. Atur StrictModes=nodi server dan coba lagi. Setelah pengujian, hapus lagi. Setidaknya itu akan memberi tahu kita ke arah mana masalahnya.
Otheus

Jawaban:


6

Anda akan mendapatkan perilaku ini jika mode file direktori home pengguna pada host tujuan tidak diatur dengan benar. Ini bukan hanya mode direktori .ssh yang harus ditetapkan dengan benar!

ssh ke host dan berikan kata sandi Anda untuk login, lalu

chmod 755 ~
logout

Kemudian ssh lagi dan dengan asumsi Anda telah mengatur segalanya dengan benar (lihat jawaban lain), Anda harus dapat login.

Ini seperti apa ketika direktori home terbuka lebar (777). Perhatikan bahwa itu tidak mencoba kunci rsa:

ssh -v user@host
...
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/iwoolf/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/iwoolf/.ssh/id_dsa
debug1: Trying private key: /home/iwoolf/.ssh/id_ecdsa
debug1: Trying private key: /home/iwoolf/.ssh/id_ed25519
debug1: Next authentication method: password
...

Kemudian dengan izin direktori home diatur dengan benar (755):

ssh -v user@host
...
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/iwoolf/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).

chmod 755 melakukan trik, omg mengapa itu menjadi masalah
WKordos

Dengan mengatur izin dir home ke 755, Anda menghapus grup dan izin menulis lainnya. Ini mencegah pengguna lain pada sistem Anda mengubah izin dari direktori .ssh Anda dan mendapatkan akses ke kunci pribadi Anda, jadi sekarang ssh menganggap file kunci Anda cukup aman untuk digunakan.
woolfie

1

Saya membuat kesalahan dengan menyebutkan kunci publik dan pribadi saya sebagai nama yang tidak standar. Mengubahnya kembali ke "id_rsa" memperbaiki masalah untuk saya.


Anda dapat menggunakan kunci berbeda untuk login jika Anda menggunakan opsi yang sesuai di ~/.ssh/config, seperti IdentityFile ~/.ssh/key2di Host myhost2bagian.
Ned64


0

Apakah server dikonfigurasi untuk menerima kunci RSA?

Pastikan RSAAuthentication yesada dalam sshd_configfile.


Ya, masuk dengan pengguna lain berfungsi. Misalnya, masuk dengan nama pengguna yang sama dengan klien berfungsi dengan baik
Rémi B.

0

Saya mengalami masalah di mana saya dapatkan we did not send a packet, disable methodkarena file kunci pribadi tidak memiliki baris baru ( \n) di akhir baris terakhir.

Ini untuk kunci Ed25519, bukan RSA (dengan kunci pribadi RSA, saya tidak mengalami masalah ini!).

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.