Apa tujuan dari ssh-ed25519-cert-v01?

0

Saya telah bermain-main dengan pengaturan crypto OpenSSH (7.4p1-10 pada Debian 9) dan memperhatikan, bahwa ketika saya atur di sshd_config

HostKeyAlgorithms [email protected]

dan buat kunci host dengan

ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -t ssh-ed25519

server mengeluh:

debug3: list_hostkey_types: ssh-ed25519 key not permitted by HostkeyAlgorithms [preauth]


Menariknya ssh-keygen -t mengambil ssh-ed25519-cert-v01 sebagai parameter, tetapi gagal menghasilkan kunci. Apa tujuan dari algoritma ini? Di mana saya dapat menemukan informasi lebih lanjut tentang itu?

# ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -N '' -t "[email protected]"
Generating public/private [email protected] key pair.
key_generate failed
ufo
sumber

Jawaban:

2

Itu ssh-keygen halaman manual memiliki bagian tentang "sertifikat."

Sertifikat OpenSSH secara konseptual mirip dengan sertifikat X.509 (SSL / TLS) - klien atau server mempercayai satu kunci untuk bertindak sebagai otoritas sertifikasi, secara otomatis menerima semua server atau pubkey pengguna ditandatangani oleh kunci itu. (Tidak seperti X.509, format sertifikat OpenSSH hanya mendukung kepercayaan langsung, bukan transitif; tidak mungkin ada CA "perantara").

Meskipun 7.4 salah menerima format sertifikat di -t, tidak masuk akal untuk menghasilkan mereka seperti itu. Pertama, Anda perlu menghasilkan a polos keypair (saat ini semua tipe didukung), lalu gunakan ssh-keygen -s ... [-h|-u] ... untuk menandatangani kunci publik dengan keypair CA, yang menghasilkan sertifikat.

(Secara teori itu mungkin untuk ssh-keygen untuk menghasilkan keypair dan segera menandatanganinya, tetapi tidak masuk akal dari PoV keamanan - CA tidak perlu memiliki akses ke kunci pribadi, apalagi khawatir tentang mendistribusikannya ke pengguna / server. Biarkan pengguna / server menghasilkan keypair sendiri.)

grawity
sumber