+== SSH-Hack ==
+In Ermangelung an Schlüsseln haben wir die KeyMatic mit etwas Magie an {{Wikipedia|Secure Shell|SSH}} angebunden.
+Damit existiert eine Möglichkeit, per SSH-Public-Key '''im Stratum 0 WLAN''' die Tür zu öffnen. Jedes Öffnen und Schließen wird protokolliert.
+
+* '''Tür öffnen:''' <code>ssh auf@192.168.178.6</code>
+* '''Tür schließen:''' <code>ssh zu@192.168.178.6</code>
+* '''Testen ob der SSH-Key eingetragen ist:''' <code>ssh test@192.168.178.6</code>
+** das geht auch von überall sonst außerhalb: <code>ssh -p 2278 test@status.stratum0.<b>net</b></code> (nicht <code>.org</code>) (bzw. mit grafischen Anwendungen den Port auf 2278 umstellen)
+** eine der letzten paar Zeilen in der Ausgabe sollte sein: <code>You are ready to use the door \o/</code>
+
+Um Zugang zu erhalten, musst du [[Mitglied werden]] und einen SSH-Public-Key an {{Benutzer|Comawill}}, {{Benutzer|Daniel Bohrer}}, {{Benutzer|chrissi^}} oder {{Benutzer|larsan}} senden. Mit der Zeit haben sich einige [[Tür-Regeln]] herausgebildet, die beachtet werden sollten. (Einen Public Key kann man sich zum Beispiel mit ssh-keygen oder PuTTYgen selbst erstellen. RSA mit 2048 Bit ist ausreichend). Der Versand sollte entweder PGP-signiert erfolgen, alternativ wäre auch der Vergleich des Schlüssel-Fingerprints über ein unabhängiges Medium denkbar, oder auch Übergabe per USB-Stick/QR-Code/… im Space. Aber wir wüssten auf jeden Fall gerne genau, ob der Schlüssel, den wir da in unser Schließsystem eintragen, der von euch ist, und kein anderer.
+
+Unterstützte Schlüsseltypen (Stand 2024):
+* ssh-ed25519
+* ssh-rsa
+
+Nicht unterstützte Schlüsseltypen (Stand 2024):
+* sk-ecdsa-sha2-nistp256@openssh.com
+
+=== Apps für Smartphones ===
+
+* [[Widget|Stratum 0 Widget]]
+* Android: TermBot ([https://f-droid.org/en/packages/org.sufficientlysecure.termbot/ FDroid], [https://play.google.com/store/apps/details?id=org.sufficientlysecure.termbot Google Play])
+** SSH-Key erstellen: im 3-Punkte-Menu über "Manage Pubkeys", dann das Plus-Icon oben rechts, RSA 2048 einstellen, Rest nach Belieben, Generate-Button. Durch Lang-Tipp auf den neu erstellten Schlüssel erscheint ein Menü, über das der Public Key kopiert werden kann.
+** Profil erstellen: Zurück im Hauptmenü auf den Plus-Button unten rechts, Username und Host wie oben erwähnt einfüllen, und unter "Use pubkey authentication" den eben erstellten Key auswählen. Zusätzlich sinnvoll ist auch die Option "Close on disconnect" auszuschalten, sodass man mögliche Fehlermeldungen noch sehen kann. Zum Schluss das Profil mit Tipp auf den Plus-Button in der Menüleiste anlegen.
+** Für zusätzliche Bequemlichkeit können die beiden erstellten Termbot-Profile ("auf" und "zu") über das Widget-Auswahlmenü auf dem Homescreen platziert werden.
+* Android, alternativ: ganz normales OpenSSH in einer [https://termux.com/ termux]-Umgebung
+* iOS: WebSSH Pro ([https://apps.apple.com/us/app/webssh-pro/id497714887 App Store]) ''kostenpflichtig''
+** SSH in der Menubar auswählen
+** Plus Knopf drücken
+** "Add SSH Connection"
+** SSH Daten eintragen
+** Private Key
+** Schlüssel Symbool oben rechts drücken
+** Daten eintragen und Private Key dort importieren (Muss vorher an einem anderen Gerät erstellt werden)
+
+=== Schlüssel hinzufügen ===
+Entitäten mit SSH-Zugriff auf dem System (siehe oben) können Schlüssel hinzufügen und entfernen.
+
+Die Schlüssel liegen im OpenSSH-Pubkey-Format (z.B. <tt>ssh-rsa AAAAB3Nz...GR0GAzC4n gefolgt von beliebigem Kommentar</tt>, '''alles auf einer Zeile!''') in einem Git-Repo unter <tt>ssh://pi@powerberry.s0/home/pi/stratumkey-keys.git</tt>. Das Format der Dateinamen ist <tt>''nickname''.pub</tt>, wobei ''nickname'' gerne durch unterscheidbare Präfixe, z.B. <tt>''nickname''@handy</tt> ergänzt wird. Nach add + commit + push werden die neuen Schlüssel automatisch im System aktiviert und können benutzt werden.
+
+=== Aufschließen ===
+
+Um mithilfe des Schlüssels Zugang zum Space zu erhalten, muss folgendes getan werden:
+
+* Via IRC oder Matrix-[[Chat]] den Status des Space auf "offen" stellen.
+** Dazu im [[Chat]] den Befehl <code>@auf</code> senden.
+* Jetzt öffnet sich die Außentür beim Betätigen der Klingel draußen.
+* Mit Stratum 0 WLAN verbinden
+* <code>ssh auf@192.168.178.6</code> ausführen, die Tür öffnet sich.