Chaospott Wiki

Wir sind da wat am dokumentieren dran...

Webseiten-Werkzeuge


Seitenleiste

Project
Name FooDoor
Status stable
Descr. Türschließ-
system
Author diverse Künstler
Maint. gammlaa,
Bandie,
m11
Version 1.0
Buttons
User comments
Name Buttons
Status working
Loc. Eingangstür elab
Maint. Leute
infrastruktur:zugang:start

Zugang

Unser ausgefeiltes Schließsystem hilft unseren Mitgliedern unsere Räume zu betreten, ohne physikalischen Schlüssel. Dadurch können die Räume zu jeder Zeit benutzt werden. Gäste sind Mittwochs ab 19 Uhr gerne willkommen.

Das elektronische Schließsystem basiert im Keller auf einer KeyMatic mit einem Raspberry Pi und im Obergeschoss auf einem Raspberry Pi.

Das System öffnet die Tür, wenn über das Wlan „foobar“ oder „foobar Enterprises“ ein gültiger SSH-Login stattgefunden hat.

Buttons

Aerie

Auf den Buttons neben der oberen Tür wird die unter https://github.com/dylangoepel/buttonctl dokumentierte Software eingesetzt. Um nicht von den Statusinformationen der API abhängig zu sein muss hier nach der durch einen Knopfdruck erfolgenden Auswahl einer Tür zwischen Öffnen und Schließen gewählt werden.

Keller

Die Buttons im Keller können unten (unterer Button) und oben ( oberer Button ) auf- und zuschließen. Sie indizieren den Status der jeweiligen Tür durch Farben:

  • Grün: offen
  • Rot: geschlossen
  • Gelb: uninitialisiert
  • Weiß: (Übergangsanimation) schließen/öffnen

Falls der Status uninitialisert ist, muss erstmal ein normaler Schließvorgang durchgeführt werden, wie unten beschrieben. Der Status ändert sich nicht sofort, sodass nach einer Übergangsanimation erstmal wieder der selbe Status wie zuvor angezeigt werden kann. Nach einem kurzen Zeitraum (10 Sekunden) sollte der richtige Status angezeigt werden. Falls dies nicht der Fall sein sollte, kann dies an Verbindungsproblemen liegen.

Die sich im Einsatz befindende Software ist eine leicht veränderte Version von https://github.com/c3e/Buttons

Status

Hier wird erklärt wie der Status gesetzt wird und wo man ihn sehen kann.

Schlüssel

Mitglieder des Chaospott erhalten über ein elektronisches Schließsystem Zugang zu den Clubräumen. Zum Öffnen und Schließen wird SSH-Key verwendet.

Schlüssel generieren

Der foodoord akzeptiert nur Pub-Keys im OpenSSH2-Format. Keys lassen sich unter anderem mit OpenSSH oder PuTTygen erzeugen. RSA-Keys mit weniger als 4096 bits werden vom Schließsystem nicht akzeptiert. Neu: Keys vom Typ ed25519 werden auch akzeptiert. Ed25519 bringen bereits eine „fixed length“ mit.

OpenSSH

Keys generieren

  • Mit
    ssh-keygen -b 4096 

    lassen sich Keys generieren.

  • ssh-add $Pfad_zum_Key

    fügt den Key dem ssh-Agent hinzu. Die Option

    ssh-add -l

    zeigt geladene Keys an.

  • ssh-keygen -l -f $Pfad_zum_Key 

    gibt den Fingerprint und andere Informationen zurück.

Keys konvertieren(PuTTY>OpenSSH):

  • ssh-keygen -i -f $Pfad_zum_Key > $Pfad_neuer_Pfad.pub

    liest ssh2-kompatible Keys(RFC 4716) ein und speichert diese im OpenSSH-Format.

  • Mit puttygen auf Linux kann auch ein Key umgewandelt werden:
    puttygen -o $privkey.ppk $privkey

PuTTY

PuTTY ist die empfohlene Software zur Verwendung unter Windows. Da die Tür nur Keys im OpenSSH-Format verträgt, dürfen auch mit Putty nur OpenSSH-Keys genutzt werden.

Keys generieren (OpenSSH-Format mit PuTTYgen):

  • 1. PuTTYgen öffnen
  • 2. Unten „Number of Bits in a generated Key:“ 4096 eintippen
  • 3. „Generate“ klicken um Key zu generieren
  • 4. Nach dem generieren oben im Menu „Conversions“ > „Export OpenSSH-Key“
  • 5. Speichern

Es ist zu beachten, dass PuTTY den PrivateKey im PuTTY-Format benötigt! Das heißt, falls der generierte Key vor dem Export nicht gespeichert wurde, muss der private Key noch konvertiert werden, siehe nächster Punkt!

Keys konvertieren(OpenSSH>PuTTY):

  • 1. PuTTYgen öffnen
  • 2. „Load“ drücken
  • 3. OpenSSH-Key auswählen
  • 4. „Save Private-Key“ drücken
  • 5. Speichern

Schlüssel einreichen

Die Schlüssel werden über ein git-Repository verwaltet, welches regelmäßig von den Türen abgefragt wird. nachdem ihr einen Schlüssel generiert habt, müsst ihr einen Pull Request stellen, damit euer Key in das Repository hinzugefügt wird. Die Datei muss nach folgendem Schema <(Nick-)name>-<Gerät>.pub benannt werden.

Voraussetzungen

Um einen Schlüssel einzureichen benötigt ihr einen Schlüssel, einen Account für https://git.chaospott.de und ihr müsst in die Gruppe PullRequest der Organisation Keyverwaltung aufgenommen werden.

  • Wie ihr den Schlüssel erstellt ist oben beschrieben
  • Einen Git-Account könnt ihr euch über https://git.chaospott.de erstellen. Denkt daran, die Mailadresse anschließend zu bestätigen.
  • Euer Account muss nun in die Gruppe PullRequest der Organisation Keyverwaltung aufgenommen werden. Dazu fragt ihr einfach ein Mitglied der Ownergruppe (siehe Maintainer oben). Dazu bietet sich z.B. ein Chaostreff (mittwochs/sonntags) an.
  • Euer Public-Key enthält ein Kommentar

Einreichung

Den Schlüssel könnt ihr entweder per Git-Kommandos hinzufügen, oder das Webinterface benutzen.

Im Folgenden wird das Vorgehen für das Webinterface beschrieben. Die Screenshots unten zeigen das Webinterface des Git.

  1. Du öffnest das Repository für die Schlüssel https://git.chaospott.de/Keyverwaltung/foodoor-keys
  2. Unten auf der Seite findet sich eine Readme mit den wichtigsten Hinweisen.
  3. Du öffnest den Ordner keys. Das ist unten auch im Screenshot zu sehen, dort ist der Button unten rot eingekreist.
  4. Rechts oben klickst du auf Upload File
  5. In die blaue Box fügst du deinen öffentlichen Schlüssel (*.pub!) mit in dem beschriebenen Dateiformat (siehe Readme) ein.
  6. Unten wählst du die Radiobox Create a new branch for this commit and start a new pull request
  7. In die Box New branch name trägst du deinen Nick ein.

Das war's! Nun musst du warten bis dein Pull-Request angenommen und gemerged wurde.

Schlüsselbenutzung

Via Trigger Android App

Wenn du Android benutzt, gibt es App „Trigger“. Diese kann im Google-Play-Store gekauft oder auf F-Droid gedowngedeloaded und bezogen werden.

Einrichtung

TL;DR:

  1. Door Type: Generic SSH
  2. Server Address:
    1. Oben: 10.42.1.28
    2. Unten: 10.42.1.20
  3. Login name: door
  4. Open Command: open
  5. Close Command: close
  6. State Command: status
  7. SSID: „foobar“
  1. Man legt oben rechts pro Tür eine Verbindung an und benennt sie (bspw. c3e oben/c3e unten).
  2. Man wählt bei „Door Type“ den Typ „Generic SSH“
  3. Man importiert den zuvor generierten SSH-Key (oder generiert einen neuen und reicht den, wie oben beschrieben, ein)
  4. Bei Server Address setzt man
    1. für die Tür oben „10.42.1.28“ und
    2. für die Tür unten „10.42.1.20“
  5. Der Login-Name ist für diese App „door“
  6. Es wird kein Passwort benötigt und daher auch nicht gesetzt
  7. Der Open Command ist auf „open“, der Close Command auf „close“ und der State Command auf „solid state“ „status“
  8. Ganz heruntergescrollt zu dem Punkt „SSID“, kann man „foobar“ oder „foobar Enterprises“ eintragen; je nach dem, was man so benutzt.
  9. Alle anderen Einstellungen kann man so übernehmen.

Via SSH

Methode 1

Keller

  1. Mit dem Wlan foobar oder foobar Enterprises verbinden.
  2. Zum Öffnen
    ssh open@10.42.1.20

    ausführen.

  3. Zum Schließen
    ssh close@10.42.1.20

    ausführen.

OG

  1. Mit dem Wlan foobar oder foobar Enterprises verbinden.
  2. Zum Öffnen
    ssh open@10.42.1.28

    ausführen.

  3. Zum Schließen
    ssh close@10.42.1.28

    ausführen.

Methode 2

  1. Mit dem Wlan foobar oder foobar Enterprises verbinden.
  2. ssh door@10.42.1.20 $ACTION

    für den Keller oder

    ssh door@10.42.1.28 $ACTION

    für das OG ausführen. Dabei $ACTION durch die gewünschte Aktion (open, close, status) ersetzen.

Software

  • Für ganz komfortable Tür-Öffnung und -Schließung unter Android kann man Trigger verwenden.
  • Wer es klassisch über SSH mag, kann unter Android z.B. ConnectBot benutzen.

Hinweis zu Termius: Unter Einstellungen „Recognize OS“ ausschalten, damit nur ein Zugriff erfolgt.

Maintenance

Der RaspberryPi kann ohne Probleme neugestartet werden. Dies kann am einfachsten im Serverschrank am POE-Injector erledigen. Sonst kann man auch einmal schnell im Matrix-Chat oder per Mail Bescheid geben, falls Probleme auftreten.

Wenn der Türschließer (Abus CFA1000) die konfigurierten Positionen nicht mehr korrekt anfährt, ist wahrscheinlich die Diode der Positionslichtschranke abgerissen. Die ist in der Vergangenheit schon einmal zweimal vorgekommen. Das lässt sich wie folgt beheben:

  1. Geräteschrauben an der Rück- und Vorderseite (Drehrad/Schlüsselaufnahme) herausdrehen.
  2. Drehrad/Schlüsselaufnahme herausnehmen.
  3. Diode finden und anlöten.
  4. Die Schlitze im Drehrad/Schlüsselaufnahme reinigen und einsetzen.
  5. Nachdem Zusammensetzen einmal Kalibrieren.
infrastruktur/zugang/start.txt · Zuletzt geändert: 2023/08/02 21:08 von gammlaa