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:
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.