Schlüsselbund
Schlüssel erzeugen oder mitbringen, und dann das, was man sonst von
Hand macht: einloggen, .ssh anlegen, Rechte setzen, die
Zeile anhängen und hoffen, dass sie nicht schon dreimal drinsteht.
Erzeugen
Erzeugt wird ed25519, ohne eigene Passphrase. Der Schlüssel liegt im Tresor und geht nur Ende-zu-Ende-verschlüsselt über den Server. Eine zweite Passphrase würde bei jeder Verbindung abgefragt — oder, realistischer, danebengeschrieben.
Mitgebrachte RSA- und ECDSA-Schlüssel behalten ihre Passphrase.
Auf Hosts eintragen
Für mehrere Hosts nacheinander, mit einem Ergebnis je Host. Wiederholbar: zweimal ausgeführt steht die Zeile einmal da. Und wieder austragen geht genauso.
Der Befehl, der auf dem Host läuft, wird als reine Funktion gebaut und
in einer echten sh getestet: zehn Fälle gegen ein echtes
Verzeichnis, darunter der Kommentar, in dem ein
; touch … steckt. Er läuft nicht.
Pro Schlüssel abschaltbar
Ein Produktivschlüssel darf auf dem Laptop bleiben, während alles andere synchronisiert wird. Wird so einer gelöscht, entsteht kein Grabstein — er hat das Gerät nie verlassen, und der Grabstein wäre die erste Zeile, die über ihn hinausginge.
Auch bei der Epoch-Rotation gehen gerätelokale Schlüssel nicht mit. Das ist die Stelle, an der ein vergessener Filter sie stillschweigend auf den Server befördern würde.
Der private Teil
Wird nie angezeigt, nie kopiert, nie exportiert. Was auf dem Bildschirm steht, landet früher oder später in einem Screenshot.
Das Dateiformat
Die verwendete SSH-Bibliothek liest Schlüssel, erzeugt aber keine. Der
Kodierer für das OpenSSH-Format gehört deshalb zu tessera selbst. Der
Gegentest dazu ist keine Formsache: Was tessera schreibt, muss die
Bibliothek wieder einlesen — und gegengeprüft wurde es mit dem echten
ssh-keygen, das denselben öffentlichen Schlüssel und
denselben Fingerabdruck meldet.
Ein Format, das nur die eigene Implementierung liest, fällt sonst erst auf, wenn jemand den Schlüssel woanders braucht.