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