
Genehmige sudo auf einer Linux-Workstation mit einem Fingerabdruck auf deinem Android-Telefon. Nur LAN; der ECDSA-Schlüssel verlässt niemals die TEE des Telefons und spricht das ssh-agent-Protokoll mit pam_rssh.
Bestätige sudo auf deinem Linux-Rechner, indem du den Fingerabdrucksensor deines Android-Telefons berührst.
Tippe sudo, dein Telefon vibriert, du berührst den Sensor, der Befehl wird ausgeführt. Kein Passwort
eingetippt, nichts in der Cloud: Das Telefon antwortet über dein LAN, und der Fingerabdruck wird von der
sicheren Hardware des Telefons (TEE / StrongBox) erzwungen, nicht durch App-Code. Wenn etwas schiefgeht
(Telefon aus, außer Reichweite, du tippst auf Ablehnen, 60 Sekunden vergehen), fällt sudo einfach auf
deine normale Passwortabfrage zurück. Es kann sudo bequemer machen; es kann dich nicht aussperren.
![]() 1. sudo auf dem Host Auf dem Telefon erscheint, wer fragt. Ablehnen funktioniert direkt von hier aus. |
![]() 2. Darauf tippen Ein Countdown, der Host und die Uhrzeit, eine Warnung bei nie zuvor gesehenen Hosts. Dann die System-Fingerabdruckabfrage. |
![]() 3. Den Sensor berühren Die TEE signiert, sudo fährt fort, die App schließt sich selbst. |
![]() Erster Start Drei Schritte und eine Schaltfläche. Bietet die Einrichtung des Fingerabdrucks an, falls das Telefon keinen hat. |
![]() Einrichtung Eine Live-Checkliste: Listener, Benachrichtigungen, Akku, Nicht stören. „Bereit“ erst, wenn alles bestanden ist. |
![]() Abgelehnt oder Zeitüberschreitung Keine Signatur verlässt das Telefon; der Host fragt nach dem Passwort. |
Screenshots von einem Pixel-7-Emulator (daher 10.0.2.2, der Host des Emulators). Das
System-Fingerabdruckfenster, das über Schritt 2 erscheint, ist ein sicheres Fenster und erscheint nicht in
Screenshots.
sudo on the host
-> PAM: pam_rssh (third-party) dials the phone over the LAN, as an ssh-agent
-> phone: "Approve sudo? From 192.168.1.10" (notification)
-> tap -> BiometricPrompt -> fingerprint
-> the phone's TEE signs pam_rssh's fresh 32-byte challenge
-> pam_rssh verifies against the pinned public key -> sudo proceeds
pam_rssh,
einem bestehenden, gepflegten Modul. Nichts von dem hier Geschriebenen läuft zum
Authentifizierungszeitpunkt als root auf dem Host.setUserAuthenticationParameters(0, AUTH_BIOMETRIC_STRONG) erstellt: eine frische starke Biometrie für
jede Signatur, durchgesetzt innerhalb der TEE (oder StrongBox). Malware auf dem Handy kann ebenfalls
nicht ohne deinen Finger signieren, und der Schlüssel kann nicht exportiert werden.SECURITY.md enthält das vollständige Bedrohungsmodell, einschließlich dessen, wogegen es keinen Schutz bietet. docs/DESIGN.md enthält das Design und die Begründung dahinter.
pam_rssh mit: ein Paket, wo eines existiert, andernfalls
aus einem gepinnten, verifizierten Commit gebaut.