Saya baru saja membuat kunci ECDSA dengan ssh-keygen
:
ssh-keygen -t ecdsa -b 521
Saya kemudian melanjutkan untuk menyalin kunci ini ke server saya:
cat .ssh/id_ecdsa.pub | ssh myserver "tee -a .ssh/authorized_keys"
Saya telah memverifikasi bahwa kunci saya ada di file.
Namun, ketika saya mencoba untuk terhubung, koneksi saya ditolak:
ssh -v -i .ssh/id_ecdsa myserver
Log:
OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to myserver [192.168.1.1] port 22.
debug1: Connection established.
debug1: identity file .ssh/id_ecdsa type 3
debug1: Checking blacklist file /usr/share/ssh/blacklist.ECDSA-521
debug1: Checking blacklist file /etc/ssh/blacklist.ECDSA-521
debug1: identity file .ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.1
debug1: match: OpenSSH_6.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 10:27:b8:78:2c:e1:e3:42:8e:e3:66:c4:cc:4e:f1:c0
debug1: Host 'myserver' is known and matches the RSA host key.
debug1: Found key in /home/naftuli/.ssh/known_hosts:73
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering ECDSA public key: .ssh/id_ecdsa
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
Menemukan ini di log server:
auth.info sshd[13874]: userauth_pubkey: unsupported public key algorithm: ecdsa-sha2-nistp521 [preauth]
Klien saya dan server menggunakan OpenSSH. Versi OpenSSH server adalah OpenSSH 6.1, versi OpenSSH klien saya adalah OpenSSH 5.9.
Bagaimana saya bisa mengetahui algoritma kunci mana yang didukung oleh server saya?
Jawaban:
Seperti banyak sistem tertanam lainnya, OpenWrt menggunakan dropbear sebagai server ssh, bukan OpenSSH yang lebih berat yang biasa dilihat pada sistem Linux. Versi dropbear yang lebih lama hanya mendukung kunci RSA dan DSA; dukungan untuk ECDSA tidak ditambahkan hingga versi 2013.62 (yang baru saja dirilis beberapa hari yang lalu).
Itu harus segera muncul di Barrier Breaker (trunk); tetapi Anda tidak akan melihatnya di Penyesuaian Sikap.
sumber
ecdsa
didukung dari openssh-server versi 5.7 . Apa versi openssh-server yang Anda jalankan? jalankandpkg -l | grep openssh-server | awk '{print $3}' | cut -d: -f2
untuk menemukan versi.sumber
Jika sistem Anda adalah Red Hat Enterprise Linux 6.4 (atau lebih tua) atau Fedora 19 (atau lebih tua), perhatikan ECDSA telah dihapus dari sana. Saya tidak memiliki detail mengapa itu (mungkin alasan hukum): https://www.mail-archive.com/[email protected]/msg00755.html
sumber
Meninggalkan ini di sini karena ini terjadi pada saya:
Hari 1: Menyiapkan mesin baru, saya menyalin kunci di - milikku dulu - dan bisa masuk dengan baik.
Hari 2: Saya tidak bisa masuk dengan kunci ed25519 saya. Hah? Saya menambahkan kunci RSA; berhasil. Saya membuat kunci ed25519 baru dan itu bekerja ... tapi satu lama saya tidak. WTF?
Ternyata setelah pengujian, saya menginstal kunci saya ke root .ssh / otor_keys sebagai cadangan ... dan lupa untuk memperbaiki izin pada file itu. Jadi openssh membuat blacklist kunci saya, membuat saya tidak dapat login. Memperbaiki perms pada /root/.ssh/authorized_keys memungkinkan saya untuk masuk sebagai pengguna saya .
sumber