Um OpenSSH mit ED25519 zu nutzen, muss nur eine aktuelle Snapshot-Version besorgt, kompiliert und installiert werden.
Das geht wie gewohnt mit configure/make/make install. Für die meisten Linux-User macht es Sinn, configure mit den Parametern –prefix=/usr –sysconfdir=/etc/ssh zu starten, sofern OpenSSH bereits in irgendeiner Vorgängerversion installiert war. Die bestehende Konfiguration wird dabei nicht geändert.
Soll OpenSSH auch mit passenden SSHFP-Resource Records umgehen können, muss spätestens vor dem make dieser Patch angewendet werden. Dafür wird einfach im Verzeichnis openssh, das tar beim Auspacken des Snapshot angelegt hat, folgendes ausgeführt:
Zu den ED25519 SSHFP-RR ist allerdings zu sagen, dass ein RFC hierzu noch aussteht, womit es diesen Typ offiziell noch nicht gibt.
Während der Installation wurde ein ED25519-HostKey angelegt. Dieser findet sich, wenn configure entsprechend angewiesen wurde, im Verzeichnis /etc/ssh und sollte der ebenfalls dort residierenden sshd_conf bekannt gemacht werden.
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
Damit identifiziert sich der Rechner mit einem ED25519-HostKey.
Damit ein Verbindungsaufbau mit dem Key Exchange Algorithmus ED25519 und dem Cipher chacha20, der so wie ED25519 ebenfalls von Daniel J. Bernstein stammt, stattfinden kann, müssen noch die Prioritäten dieser entsprechend in den Konfigurationsdateien angegeben werden.
Ein Beispiel kann wie folgt aussehen.
sshd_config (Server)
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384 (...)
ssh_config (Client)
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-gcm@openssh.com,aes128-ctr (...)
VerifyHostKeyDNS yes
StrictHostKeyChecking ask
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com in Verbindung mit VerifyHostKeyDNS yes weist den Client an, den ED25519-HostKey mit dem im DNS hinterlegten zu vergleichen.
Sofern der Patch mit einkompiliert wurde, kann ssh-keygen verwendet werden, um diesen DNS-Eintrag zu verwenden.
Ohne den Patch könnte der SSHFP-RR zwar auch anders erzeugt werden, der SSH-Client würde allerdings nicht im DNS danach suchen.
Tags: kryptographie, SSH, SSHFP