Marc Görtz

OpenSSH 7.x und DSA-Keys

Nachdem ich schon vor einer ganzen Weile meinen PGP-Schlüssel aktualisiert habe (1024 Bit DSA auf 4096 Bit RSA), mussten nun meine SSH-Schlüssel dran glauben. Hintergrund: Seit OpenSSH 7.x sind die alten DSA-Schlüssel verpönt:

Support for ssh-dss, ssh-dss-cert-* host and user keys is disabled by default at run-time.

Also zack, einen neuen 4096-Bit RSA-Schlüssel generiert:

ssh-keygen -t rsa -b 4096 -C "mail@example.com"

Zwar habe ich den neuen Public Key nun schon an einigen Stellen hinterlegt, wo ich ihn bräuchte, aber noch nicht überall – und für manche Systeme muss dann eben vorerst noch der alte DSA-Schlüssel herhalten. Da OpenSSH aber den Verbindungsaufbau mit diesem Schlüssel zunächst verweigert, muss man in der SSH-Konfiguration noch Folgendes setzen:

PubkeyAcceptedKeyTypes +ssh-dss

Probleme mit GitHub Desktop

Leider konnte ich bis jetzt noch nicht sicher sagen, ob diese Einstellung auch nur für bestimmte Hosts möglich ist oder immer nur global gilt – ich tippe auf Letzteres. Und damit hat das neue GitHub Desktop offenbar ein Problem. Denn trotz der Tatsache, dass ich für GitHub explizit den RSA-Schlüssel als IdentityFile angegeben habe und ausschließlich diesen auf GitHub hinterlegt habe, zickt die App rum, sobald ich die PubkeyAcceptedKeyTypes-Anweisung hinzufüge:

GitHub Authentication Failed

Ob und wie sich das lösen lässt, weiß ich noch nicht. Vielleicht ist ja auch einfach ein Bug. Solange werde ich jedenfalls keine Remote-Aktionen per GUI durchführen können, aber das wird schon klappen.