TinyMatic und passwortgesicherter Zugang zum XML-API

Support, Fragen und Diskussionen zur HomeMatic App für Android

Moderator: Co-Administratoren

Antworten
DAC324
Beiträge: 4
Registriert: 05.06.2019, 16:35

TinyMatic und passwortgesicherter Zugang zum XML-API

Beitrag von DAC324 » 05.06.2019, 16:59

Hallo alle,

ich habe den Zugang zum XML-API meiner CCU2 mit Passwort gesichert (Anleitung hier).

Allerdings kann TinyMatic damit nichts anfangen; trotz der entsprechenden Einstellungen erhalte ich nur die Fehlermeldung "401 Unauthorized".

Vom Rechner aus über den Browser funktioniert das auch wie gewünscht, nur die App TinyMatic verweigert die Anmeldung und gibt den Fehler 401 Unauthorized aus.

HTTP Auth ist in den Netzwerkeinstellungen aktiviert, Benutzername und Passwort sind eingetragen (und funktionieren im Browser auch).

Ich habe die Einstellungen komplett zurück gesetzt und alles neu eingetragen. Es funktioniert einfach nicht (unabhängig auch von der Einstellung "HTTPS aktiviert").

Wo liegt der Fehler?

Beste Grüße
DAC324

ultrah
Beiträge: 330
Registriert: 08.03.2010, 13:38

Re: TinyMatic und passwortgesicherter Zugang zum XML-API

Beitrag von ultrah » 05.06.2019, 23:17

Hi,

Es gibt von dieser Anleitung eine aktualisierte Version, die mit TinyMatic funktioniert:

https://web.archive.org/web/20170627190 ... -mod_auth/

Danke übrigens für die Idee mit archive.org, ich hatte die Anleitung schon verloren geglaubt!
www.tinymatic.de (Ehemals HomeDroid)

DAC324
Beiträge: 4
Registriert: 05.06.2019, 16:35

Re: TinyMatic und passwortgesicherter Zugang zum XML-API

Beitrag von DAC324 » 06.06.2019, 10:49

ultrah hat geschrieben:
05.06.2019, 23:17
Hi,

Es gibt von dieser Anleitung eine aktualisierte Version, die mit TinyMatic funktioniert:

https://web.archive.org/web/20170627190 ... -mod_auth/

Danke übrigens für die Idee mit archive.org, ich hatte die Anleitung schon verloren geglaubt!
Vielen herzlichen Dank für diese Aktualisierung und die schnelle Hilfe. Damit funktioniert es tatsächlich wie gewünscht.

Ich habe hier bei mir auf den Einsatz einer extra SD-Karte verzichtet und die Dateien nebst Anleitung auf meinem Rechner gespeichert. Da man nach einem Update der CCU-Firmware ohnehin die Konfigurationsdateien des lighttpd anpassen muss, kann man bei dieser Gelegenheit dann auch die config.conf wieder zurück spielen.
Außerdem fand ich den Hinweis in den Kommentaren, doch am besten gleich den kompletten Zugang über SSL zu schützen, sehr sinnvoll. Bei der normalen Portweiterleitung über den Router ist die Oberfläche der CCU sonst aus dem Internet ohne Schutz erreichbar.

Verkürzte Vorgehensweise also:
  1. SSH-Zugang über die Web-Oberfläche der CCU freischalten (Einstellung -> Systemsteuerung -> Sicherheit)
    Über SSH auf der CCU einloggen:

    Code: Alles auswählen

    ssh root@IP-Adresse.der.CCU
    Man landet dabei automatisch im Verzeichnis /root, welches sich sehr gut als Ablage für die Konfigurationsdateien missbrauchen lässt. Im Folgenden wird also dieses Verzeichnis verwendet. Wer eine SD-Karte hat, muss natürlich die Pfade gemäss Anleitung von psycho0verload anpassen.
  2. Root-Filesystem als schreibbar einhängen:

    Code: Alles auswählen

    mount -o remount,rw /
  3. Konfigurationsdatei für den Zugriff auf das XML-API erstellen:

    Code: Alles auswählen

    vi config.conf
    Inhalt der Datei:

    Code: Alles auswählen

    auth.backend = "plain"
    auth.backend.plain.userfile = "/root/.pw"
    auth.require = (
            "/config/xmlapi" =>
            (
                    "method" => "basic",
                    "realm" => "Benutzername",
                    "require" => "valid-user"
            ),
            "/addons/xmlapi" =>
            (
                    "method" => "basic",
                    "realm" => "Benutzername",
                    "require" => "valid-user"
            )
    )
  4. Konfigurationsdatei für den Zugriff über SSL erstellen:

    Code: Alles auswählen

    vi config.conf.ssl
    Inhalt der Datei:

    Code: Alles auswählen

    auth.backend = "plain"
    auth.backend.plain.userfile = "/root/.pw"
    auth.require = (
            "/" =>
            (
                    "method" => "basic",
                    "realm" => "Benutzername",
                    "require" => "valid-user"
            )
    )
  5. Datei mit Benutzernamen und Passwörtern erstellen:

    Code: Alles auswählen

    vi .pw
    Inhalt der Datei:

    Code: Alles auswählen

    Benutzername:Passwort
    WICHTIG: Der Benutzername sollte mit dem Namen unter "realm" in den Konfigurationsdateien übereinstimmen!
  6. Konfiguration des lighttpd aktualisieren:

    Code: Alles auswählen

    vi /etc/lighttpd/lighttpd.conf
    Folgende Zeile ist ganz ans Ende der Datei einzutragen (mit "G" springt man im VI ans Dateiende):

    Code: Alles auswählen

    include "/root/config.conf"
  7. Konfiguration des lighttpd für SSL-Zugriff aktualisieren:

    Code: Alles auswählen

    vi /etc/lighttpd/lighttpd_ssl.conf
    Folgende Zeile ist ganz ans Ende der Datei einzutragen (mit "G" springt man im VI ans Dateiende):

    Code: Alles auswählen

    include "/root/config.conf.ssl"
  8. CCU neu starten mit

    Code: Alles auswählen

    reboot
Fertig :)


Vielen Dank und beste Grüße
DAC324

ultrah
Beiträge: 330
Registriert: 08.03.2010, 13:38

Re: TinyMatic und passwortgesicherter Zugang zum XML-API

Beitrag von ultrah » 06.06.2019, 11:47

Super! Und vielen Dank für die Anleitung, das wird anderen Nutzern sicher helfen :)
www.tinymatic.de (Ehemals HomeDroid)

Antworten

Zurück zu „TinyMatic“