Seite 1 von 1

Openhab3 -- Kein Zugriff auf Konsole

Verfasst: 25. Sep 2022 16:03
von Gandy
Hallo ..
Das Problem ist folgendes.
Ich habe OpenHAB Version 1.6.2 auf einem Raspberry Pi 4 ( 4GB ) installiert.
Zugriff über SSH funktioniert.
Aber ich kann keine Konsole aufrufen.
weder über http://openhab3:8080 noch kann ich die Konsole in der openhabian-config einrichten.
Dort kommt immer der Fehler : There was an error or interruption during the execution of:
"40 | openHAB Related"
was könnte das Problem sein ?

Re: Openhab3 -- Kein Zugriff auf Konsole

Verfasst: 25. Sep 2022 19:19
von peter-pan
Was meinst du genau mit Konsole ?
1. Die Karaf-Konsole oder
2. Die Main-UI (Benutzer-Oberfläche)

Nur zu Info: Ich gehe davon aus, dass du openHAB Version 3.xxx mit der "openhabian-Version 1.6.2" aufgesetzt hast.

Die Main-UI solltest du eigentlich erreichen, wenn du im Browser"http://openhabian:8080" eingibst. So ist es jedenfalls standardmässig in der Doku beschrieben

Die Karaf-Konsole kann man mit "ssh openhab@localhost -p 8101" aufgerufen werden, oder alternativ mit "openhab-cli console"

Re: Openhab3 -- Kein Zugriff auf Konsole

Verfasst: 7. Nov 2022 10:44
von dcridaz
Hallo Zusammen,

zu diesem Thema habe ich auch eine Frage. Bisher musste ich noch nicht auf die Karaf-Console zugreifen.
Nun wollte ich aber einige Addons hinzufügen und die "doppelten" löschen.
Eine Gute Anleitung aus dem Netz habe ich auch befolgt.
Nachdem ich mich über Putty mit dem Port "8101" eingeloggt habe kann ich auch den User "openhab" eingeben.
Trotz des richtigen Passworts wird mir aber der Zugriff "verweigert".
Ich habe zunächst über sudo-raspi-config, selbst ein Passwort für Remote Console hinterlegt.
Nach mehreren misslungenden Versuchen habe ich die Hilfestellung der Karaf_Console befolgt, und als User und Passwort karaf
mit den Berechtigungen kopiert.
In den Foren stand, dass es bei allen danach funktionierte...
allerdings bei mir nicht. Dort werde ich immer wieder auf "access denied" verwiesen.-
Weiß jemand, was ich falsch mache?


Liebe Grüße

Tim

Re: Openhab3 -- Kein Zugriff auf Konsole

Verfasst: 7. Nov 2022 17:24
von peter-pan
dcridaz hat geschrieben: 7. Nov 2022 10:44 Nachdem ich mich über Putty mit dem Port "8101" eingeloggt habe kann ich auch den User "openhab" eingeben.
Du kannst dich nicht mit Putty über den Port 8101 in die Konsole einloggen. Das erfolgt normalerweise über die IP-Adresse/Hostname und Port 22.

Normalerweise benutzt man Putty um sich von Windows aus auf die Shell-Konsole des Raspi-Rechners einzuloggen.

Von da aus kann man sich dann mit dem Kommando

Code: Alles auswählen

ssh openhab@localhost -p 8101
an der Karaf-Konsole anmelden. Das Standard-Passwort dazu ist habopen

Re: Openhab3 -- Kein Zugriff auf Konsole

Verfasst: 7. Nov 2022 21:36
von udo1toni
Määp: ja, aber nein.

Richtig: Du kannst Dich normalerweise nicht remote in der Karaf Konsole anmelden.
Mit der passenden Konfiguration geht das aber sehr wohl.

Genauso kann man dann auch passwordless zugreifen, dazu erzeugt man ein Schlüsselpaar und hinterlegt den öffentlichen Schlüssel in der Karaf Konfiguration.

In diesem Zusammenhang sollte man natürlich das Standard Passwort für den User openhab mindestens ändern, oder den User gleich komplett aus der Konfiguration entfernen, denn leider gibt es meines Wissens keine Option, zu verhindern, dass man sich mit Passwort anmeldet, das ist auch der Grund dafür, dass der ssh Zugang für die Karaf Konsole normalerweise nur lokal auf dem Rechner erfolgen kann. Wer auf die Linux Konsole kommt, kann ohnehin beliebig Schaden anrichten...

Die notwendigen Anpassungen nimmt man in drei Dateien in $OPENHAB_USERDATA/etc/ vor.

1. org.apache.karaf.shell.cfg. Dort bei sshHost 0.0.0.0 eintragen (Vorgabe ist 127.0.0.1). Alternativ könnte man auch eine bestimmte IP setzen, die auf einem Interface des Host verfügbar ist. Man könnte so den Zugriff über ein ganz bestimmtes Interface begrenzen.

Ein Neustart der Karaf Konsole (bzw. openHAB) sorgt dafür, dass die Änderungen übernommen werden.

2. In der Datei users.properties kann man dem User openhab ein neues Passwort vergeben. Das Passwort ist hier gewöhnlich verschlüsselt gespeichert (erkennbar an den Tags {CRYPT}...{CRYPT}). Möchte man ein neues Passwort setzen, so trägt man es einfach ohne die Tags ein (also z.B. so: Vorher:

Code: Alles auswählen

openhab = {CRYPT}E13B570439D6879902E95D389ADE6648FD46E3BF6A652B3E585A01A9B98CA01D{CRYPT},_g_:admingroup
Nachher

Code: Alles auswählen

openhab = MeinTollesGeheimesPasswort,_g_:admingroup
Karaf wird beim nächsten Neustart den Klartext durch die gecryptete Version ersetzen.

3. In der Datei keys.properties hinterlegt man analog zum File users.properties den public Key, mit dem man sich einloggen will. Dazu muss man allerdings zunächst ein Keyfile generieren.

Code: Alles auswählen

ssh-keygen -t rsa -b 2048 -f openhab-rsa
Wenn man sich ohne Passwort einloggen will, muss man beim darauffolgenden Schritt einfach kein Passwort vergeben.

Es entstehen zwei Dateien, openhab-rsa und openhab-rsa.pub. Letztere öffnet man und kopiert den Schlüssel (der Teil nach dem ersten Leerzeichen, der mit AAAA beginnt bis zum letzten Zeichen vor dem nächsten Leerzeichen.) Diesen Public Key kann man nun in die keys.properties einfügen.
Dabei ist das Format zu beachten, welches genauso funktioniert wie in der users.properties, also vorne steht username= direkt vor dem key, hinten stehen die Gruppenzugehörigkeiten. Sieht dann so aus:

Code: Alles auswählen

karaf=AAAAB3NzaC1kc3MAAACBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAAAAFQCXYFCPFSMLzLKSuYKi64QL8Fgc9QAAAIEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoAAACBAKKSU2PFl/qOLxIwmBZPPIcJshVe7bVUpFvyl3BbJDow8rXfskl8wO63OzP/qLmcJM0+JbcRU/53JjTuyk31drV2qxhIOsLDC9dGCWj47Y7TyhPdXh/0dthTRBy6bqGtRPxGa7gJov1xm/UuYYXPIUR/3x9MAZvZ5xvE0kYXO+rx,_g_:admingroup

_g_\:admingroup = group,admin,manager,viewer,systembundles
Wichtig ist dabei, dass hinter dem key noch die Gruppen angegeben werden, also das ,_g_:admingroup nicht vergessen, das ist bei der Länge der Zeile gerne mal "unsichtbar"...
In der letzten Zeile ist die Gruppe definiert, welcher der User karaf hier zugeordnet wird. Dort wird also festgelegt, welche Zugehörigkeit sich aus _g_:admingroup ergibt.
Der Key im Beispiel ist der aus der Datei selbst, den sollte man tunlichst nicht aktivieren :) wobei es vermutlich keinen gültigen Private Key dazu gibt...

Sind alle Änderungen vorgenommen, so sollte man sich über das public Key Verfahren über PuTTY an der Karaf Konsole anmelden können. Dazu muss man natürlich noch den private Key auf den Remote Rechner kopieren und dort in das ppk Format wandeln :)

Alternativ kann man auch direkt putty-keygen verwenden und den Public Key dort herauskopieren und in der keys.properties eintragen, das läuft auf das gleiche raus...

Ach so... PublicKey funktioniert natürlich auch für die Linux Konsole. Man kann die Keys auch per Passwort sichern und auf dem Remote System Pageant starten, in dem man dann die Keys entsperrt hinterlegt. damit muss man dann das Passwort immer nur einmal eingeben, wenn man Pageant startet und die Keys lädt.