GNU/Linux >> Belajar Linux >  >> Linux

Login SSH tidak berfungsi menggunakan kunci Tanpa Kata Sandi?

Anda mengalami kegagalan berikut:

Agen mengaku gagal masuk menggunakan kunci.

Sayangnya, ini adalah pesan non-diagnostik. Ada (setidaknya) dua kelas masalah yang dapat ditangani:

Kunci tidak dimuat

Untuk sebagian besar masalah, ini berarti ssh-agent Anda tidak memuat kunci ssh yang diterima untuk akun Anda di server target. Dalam hal ini, sebagaimana dicatat oleh jawaban @Networker untuk pertanyaan ini, solusinya agak sederhana:tambahkan kunci:

ssh-add

Jika kunci berada di lokasi non-default, Anda harus memberitahukannya ke ssh-add :

ssh-add /path/to/key

Agen tidak dapat memahami kunci

Ini adalah bug GNOME 754028, diselesaikan di Seahorse 3.29.90 (stable 3.30 dirilis 2018-09-03, termasuk dalam Ubuntu 18.10, Fedora 29, dan mungkin Red Hat/CentOS 9). Seahorse sebelum 3.29.90 (dan karenanya GNOME Keyring) tidak dapat membuat atau menambahkan jenis kunci baru seperti ed25519 dan kunci dihasilkan dengan ssh-keygen -o -a 100 (seperti yang disarankan oleh tutorial Secure Secure Shell).

Diagnosis masalah ini:

  • ssh myserver gagal dengan "ssh Agent mengaku gagal"
  • SSH_AUTH_SOCK= ssh myserver bekerja dengan baik
  • Kesimpulan:gnome-keyring tidak dapat menangani kunci yang rumit

Karena saya baru saja menemukan solusi yang layak untuk bug ini, dan sepertinya tidak dipublikasikan di mana pun (kecuali komentar yang baru saja saya tambahkan ke bug Ubuntu), saya akan meletakkannya di sini.

Solusi: Luncurkan ssh-agent baru menggunakan soket yang sama dengan soket dari gnome-keyring :

ssh-agent -a $SSH_AUTH_SOCK

Ini meluncurkan instance baru ssh-agent (menimpa instance GNOME yang kurang mampu), jadi tidak akan ada kunci di dalamnya (terlepas dari apa seahorse mengatakan, karena itu terkait dengan agen lama). Anda harus menambahkannya melalui ssh-add seperti yang tercantum di Kunci tidak dimuat bagian di atas.

Anda harus menjalankan ini setiap kali Anda masuk (atau menambahkannya secara manual ke skrip startup Anda). Jika Anda ingin mempertahankan soket lama, jalankan mv $SSH_AUTH_SOCK $SSH_AUTH_SOCK.broken pertama.


Saya telah memecahkan masalah hanya dengan menjalankan perintah ini di mesin lokal (setelah membuat kunci):

$ ssh-add

Linux
  1. Cara Mengatur Login SSH Tanpa Kata Sandi

  2. Bagaimana Mengonversi File PPK ke OpenSSH Keys dan Login menggunakan SSH di Linux?

  3. Ssh Login Dengan Clear Text Password Sebagai Parameter??

  1. Ssh – Bagaimana Menjalankan Ssh-add Secara Otomatis, Tanpa Prompt Kata Sandi?

  2. Ssh – Perlu Tty Untuk Menjalankan Sudo Jika Saya Bisa Sudo Tanpa Kata Sandi?

  3. Cara Menonaktifkan Login SSH Dengan Kata Sandi

  1. TigerVNC + SSH tanpa Kata Sandi VNC?

  2. Bagaimana cara memaksa pengguna untuk mengubah kata sandi saat pertama kali masuk menggunakan ssh?

  3. SSH dari A sampai B ke C, menggunakan kunci privat di B