Authentifizierung
DR-Terminal unterstützt drei Authentifizierungsmethoden: Passwort, privater Schlüssel und FIDO2-Sicherheitsschlüssel (YubiKey).
Passwort
Der einfachste Weg. Ein Passwort, das für eine gespeicherte Verbindung eingegeben wird, landet im sicheren Speicher der Plattform — niemals in der JSON-Konfiguration. Ist das Passwortfeld leer, fragt die App bei jeder Verbindung erneut danach.
Public-Key → Passwort-Fallback: Wenn der Server einen öffentlichen Schlüssel ablehnt (z. B. weil er nicht in authorized_keys steht), fragt DR-Terminal automatisch nach dem Passwort für denselben Benutzer, anstatt die Verbindung abzubrechen.
Privater Schlüssel
Schlüssel in den Formaten OpenSSH, PKCS#1, PKCS#8, ssh.com oder PuTTY PPK (v2/v3) werden alle akzeptiert — das Format wird automatisch erkannt, sodass ein .ppk-Schlüssel ohne vorherige Konvertierung funktioniert. Du kannst:
- Den Schlüssel direkt in das Verbindungsformular einfügen.
- Den Schlüsselmanager verwenden (Einstellungen → Sicherheit → SSH-Schlüssel) und einen gespeicherten Schlüssel auswählen. Hier importierte Schlüsseldateien dürfen zusätzlich rohes binäres DER sein.
Ist der Schlüssel mit einer Passphrase verschlüsselt, fragt DR-Terminal bei der ersten Verwendung des Schlüssels danach und behält sie dann nur im Arbeitsspeicher — wie ssh-agent, eine Entsperrung pro App-Lauf; das Schließen der App sperrt alle Schlüssel wieder. Importierte verschlüsselte Schlüssel bleiben in ihrer ursprünglichen verschlüsselten Form im sicheren Speicher. Wir unterstützen viele Algorithmen — RSA, ECDSA (P-256, P-384, P-521), Ed25519, Ed25519-SK, ECDSA-SK (FIDO).
Schlüsselgenerator
Unter Einstellungen → Sicherheit gibt es einen Assistenten SSH-Schlüssel generieren. Wähle den Typ (z. B. ed25519), lege eine Passphrase fest (optional — sie schützt den Schlüssel sogar im sicheren Speicher), und der Schlüssel wird lokal gespeichert. Der Standard-Schlüsselkommentar lautet ${user}@${host}@DR-Terminal — praktisch, um den Schlüssel auf dem Server zu erkennen. Der öffentliche Schlüssel kann für ~/.ssh/authorized_keys auf dem Server in die Zwischenablage kopiert werden.
Schlüssel in der Liste können direkt umbenannt werden; wenn der von dir gewählte Name mit einem bestehenden kollidiert, hängt die App automatisch (2) an.
Schlüsselkonverter
Einstellungen → Sicherheit → SSH-Schlüssel → Konvertieren serialisiert einen privaten Schlüssel zwischen allen gängigen Formaten neu — wähle eine Quelle (einen gespeicherten Schlüssel, eine Datei oder eingefügten Text) und ein Zielformat, dann kopiere, teile oder speichere das Ergebnis.
Formate, in beide Richtungen:
| Format | Lesen | Schreiben |
|---|---|---|
OpenSSH (BEGIN OPENSSH PRIVATE KEY) | ✓ | ✓ |
PKCS#8 (BEGIN PRIVATE KEY) | ✓ | ✓ |
PKCS#1 (BEGIN RSA PRIVATE KEY, nur RSA) | ✓ | ✓ |
| PuTTY PPK — v2 und v3 | ✓ | ✓ |
Die Eingabe kann PEM (Text), PuTTY PPK oder rohes binäres DER sein — das Format wird automatisch erkannt. Schlüsseltypen: RSA, Ed25519 und ECDSA (P-256/384/521).
- Der PuTTY-PPK-Export funktioniert jetzt in beide Richtungen (zuvor konnte die App
.ppknur lesen). Wähle mit dem Versionsauswähler v3 (Argon2id KDF + HMAC-SHA-256, modernes PuTTY) oder v2 (älteres PuTTY). So erzeugte Dateien laden unverändert in PuTTY/puttygen. - Optionale Export-Passphrase. Lass sie leer für einen unverschlüsselten Schlüssel; setze sie, und die Ausgabe wird mit einer starken formatspezifischen KDF verschlüsselt (bcrypt / PBKDF2 / Argon2id). Siehe Sicherheit & Daten → Exportierte Schlüssel.
- Schlägt die Konvertierung fehl (falsche Quell-Passphrase, inkompatibles Format), zeigt die App jetzt den tatsächlichen Grund statt eines generischen Fehlers.
PKCS#1 beschreibt nur RSA-Schlüssel, daher wird dieses Ziel nur angeboten, wenn die Quelle ein RSA-Schlüssel ist.
Eine Passwortverbindung auf einen Schlüssel umstellen
Du musst authorized_keys nicht von Hand bearbeiten. Für eine gespeicherte Passwortverbindung bietet DR-Terminal an zwei Stellen eine geführte Umstellung an:
- Verbindungsliste — das Schlüsselsymbol auf der Karte einer Passwortverbindung startet den Migrationsassistenten.
- In einer Sitzung — das Terminal-Menü einer verbundenen Passwortsitzung enthält Zu SSH-Schlüssel wechseln.
Beide führen denselben Ablauf aus: einen gespeicherten Schlüssel auswählen oder einen neuen generieren, DR-Terminal spielt den öffentlichen Schlüssel über die bestehende Passwortanmeldung auf den Server, prüft, ob die Schlüsselauthentifizierung tatsächlich funktioniert, und stellt erst dann die gespeicherte Verbindung auf Schlüsselauthentifizierung um. Schlägt der Test fehl, bleibt die Verbindung unverändert.
Sicherheitsschlüssel (FIDO2 / YubiKey)
DR-Terminal verarbeitet ed25519-sk- und ecdsa-sk-Schlüssel — und du kannst sie direkt in der App generieren. Kein externes ssh-keygen nötig.
Einen YubiKey-gestützten Schlüssel in DR-Terminal generieren
- Einstellungen → Sicherheit → SSH-Schlüssel → SSH-Schlüssel generieren.
- Aktiviere den Schalter Sicherheitsschlüssel. Wähle den Algorithmus — Ed25519-SK (empfohlen) oder ECDSA-SK.
- Berühre deinen YubiKey, wenn du dazu aufgefordert wirst. Die App fordert den Token auf, einen neuen Berechtigungsnachweis zu erstellen, und signiert den öffentlichen Schlüssel.
- Der Schlüssel wird im Schlüsselmanager von DR-Terminal gespeichert. Kopiere den öffentlichen Schlüssel und füge ihn auf dem Zielserver in
~/.ssh/authorized_keysein.
Windows Hello: Unter Windows ist die FIDO2-PIN-Abfrage der native Windows-Hello-Dialog (PIN / Fingerabdruck / Gesicht) und kein In-App-Dialog.
Residente Schlüssel (auf dem YubiKey selbst gespeichert) machen das Mitführen der Schlüsseldatei überflüssig — das gesamte Geheimnis lebt auf dem Token. In DR-Terminal generierte Schlüssel sind nicht resident: Das Credential-Handle wird im Schlüsselmanager aufbewahrt und wird zusammen mit dem Token benötigt.
Einen vorhandenen SK-Schlüssel verwenden
Wenn du bereits einen anderswo generierten id_ed25519_sk / id_ecdsa_sk hast (z. B. via ssh-keygen -t ed25519-sk), importiere ihn über denselben Schlüsselmanager — DR-Terminal behandelt importierte und generierte SK-Schlüssel gleich.
Beim Verbinden
DR-Terminal fordert eine Berührung deines Schlüssels an. Die Anzeige blinkt — tippe darauf. iOS unterstützt NFC und USB-C (YubiKey 5Ci und neuer). Android — NFC + USB (OTG). Der Desktop nutzt native FIDO2-APIs (Windows Hello, macOS, Linux via libfido2).