Visual Studio Code

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
OliverCJ
Beiträge: 405
Registriert: 29. Aug 2017 12:41
Answers: 3
Wohnort: Bergisch Gladbach

Re: Visual Studio Code

Beitrag von OliverCJ »

Cool, vielen Dank! Die Befehlspalette hatte ich zwar auch schon gefunden, aber wohl nie weit genug herunter gescrollt (stand tatsächlich fast als letzter Eintrag in der Liste).
Den zweiten Punkt hatte ich schon mal in der Vergangenheit gemacht... natürlich auch mit sicherem Passwort. Das mit dem Schlüsselpaar schaue ich mir vielleicht auch noch näher an. Ich hatte zwar einen Beitrag von Dir aus Dec. 2016 in der Community auf die Schnelle gefunden, wo dann auch von jemandem eine Erklärung folgte, aber da muss ich erstmal wieder den Übersetzer rauskramen ;-)

_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Visual Studio Code

Beitrag von udo1toni »

Das müsste aber auch auf deutsch zu finden sein... ich bin mir ziemlich sicher, das mal erklärten haben...

Zur Not kann ich das aber auch noch mal aufschreiben.


Gesendet von iPad mit Tapatalk
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
OliverCJ
Beiträge: 405
Registriert: 29. Aug 2017 12:41
Answers: 3
Wohnort: Bergisch Gladbach

Re: Visual Studio Code

Beitrag von OliverCJ »

Nee, das mit dem Übersetzer bezog sich nicht wirklich auf das Englisch, sondern eher auf das Fachchinesisch was ich so gefunden habe... [emoji6]
Auf der Shell brauche ich echt immer noch jemanden der mich an die Hand nimmt und mir Schritt für Schritt zeigt, was ich eingeben muss...
Ich glaube aber, eine recht gute Seite gefunden zu haben, die das mit der Key-Erzeugung erklärt... Leider nicht für openHAB [emoji53]... Ich schaue mal.

Gesendet von meinem SM-N975F mit Tapatalk


_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Visual Studio Code

Beitrag von udo1toni »

Das mit dem key erzeugen ist unabhängig von openHAB :) einfach mit ssh-keygen ein Schlüsselpaar erzeugen. Wenn Du dabei auf die Eingabe eines Passwortes verzichtest, kannst Du (nur mit dem private key natürlich) ohne Passworteingabe auf die Karaf Konsole verbinden. Alternativ kannst Du den Key auch mit Passwort sichern, aber mit pageant das Keyfile für die Dauer der Sitzung “aufschließen”. Wobei ich nicht weiß, ob das windows10-ssh mit pageant zusammenspielt.


Gesendet von iPad mit Tapatalk
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
OliverCJ
Beiträge: 405
Registriert: 29. Aug 2017 12:41
Answers: 3
Wohnort: Bergisch Gladbach

Re: Visual Studio Code

Beitrag von OliverCJ »

Siehste.. und schon fange ich wieder an zu googlen... ;-)

pageant?
Keyfiel? okay, das kann ich mir noch denken

Ich finde, die Seite klingt leicht verständliche: https://www.mittwald.de/blog/mittwald/h ... -erstellen
Mal sehen ob ich damit klar komme...

_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Visual Studio Code

Beitrag von udo1toni »

Ja, wobei die Anleitung schon wieder viel zu weit geht. Du brauchst nur das

Code: Alles auswählen

ssh-keygen -t rsa -b 4096
Welches eben ein Dateipaar erzeugt, id_rsa und id_rsa.pub

Den Inhalt der Datei id_rsa.pub musst Du in die Datei keys.properties einfügen.
Die Schwierigkeit dabei ist, dass der Key (also der Inhalt von id_rsa.pub) nicht das Einzige ist, was in der Zeile anzugeben ist. Vorne steht der Username, zu dem der Key gehört, dann kommt ein = und der Key. Hinten muss noch die Gruppenzugehörigkeit angegeben werden. Ich hab grade keinen Zugriff, aber in der Datei ist eine Beispielzeile drin, wenn ich mich richtig erinnere.

Die Datei id_rsa brauchst Du auf dem PC, von dem aus der Zugriff laufen soll. Die ssh- Anweisung ergänzt Du um den Parameter -i id_rsa, wobei Du natürlich den kompletten Pfad zur id_rsa angeben musst, oder alternativ die id_rsa in einem Verzeichnis aus dem Suchpfad hinterlegen. Die id_rsa kannst Du beliebig umbenennen, z.B. id_rsa_für_openhab_karaf_zugriff ;) aber das bleibt Dir überlassen.


Gesendet von iPad mit Tapatalk
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
OliverCJ
Beiträge: 405
Registriert: 29. Aug 2017 12:41
Answers: 3
Wohnort: Bergisch Gladbach

Re: Visual Studio Code

Beitrag von OliverCJ »

Hallo Udo,

wie immer "Vielen Dank!" Ich werde das heute oder morgen ausprobieren, ich denke, das bekomme ich hin. Aber zwei Fragen hätte ich doch noch (naja, drei, aber die dritte ist ein wenig Off-Topic):

1. Wo und wie genau lege ich für den Zugriff "von außen" einen neuen User an für den Zugriff auf die Konsole
2. Kann ich dann den Zugriff für den User openhab von außen wieder sperren, so dass nur der neue User von außen Zugriff hat

Edit: Mir ist doch noch eine Frage eingefallen: Du hast in irgendeinem Beitrag mal geschrieben, dass man auch die Passwortabfrage für einen User unterdrücken kann. Macht ja Sinn, wenn für diesen User ein Schlüsselpaar erzeugt wurde... Äh, wie stelle ich das ein?

Danke!
Oliver

3. Ich habe heute das Update auf 2.5.9 gemacht. Kann es sein, dass dadurch die Einstellungen für die Konsole zurückgesetzt werden und ich den Zugriff jetzt neu nach außen freigeben muss?

_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Visual Studio Code

Beitrag von udo1toni »

Also, die erste Einstellung ist die, den Zugriff von außen zu ermöglichen, das geht über $OPENHAB_USERDATA/etc/org.apache.karaf.shell.cfg, dort bind auf 0.0.0.0 setzen (Standard ist 127.0.0.1 bzw. localhost)
User legst Du über zwei Dateien an, je nachdem, ob Du Zugriff über Passwort oder über Schlüsseltausch haben möchtest.
Es reicht, eine weitere Zeile in der jeweiligen Datei anzulegen, die dem Format der vorhandenen Zeilen entspricht, also vorne der User, dann ein =, dann der Schlüssel bzw. das Passwort in Klartext (!) ohne die Schlüsselworte Crypt(!!!) und abschließend, mit einem Komma getrennt, die Berechtigungen.
Karaf verschlüsselt das Passwort beim ersten Zugriff auf die Datei und legt es dann verschlüsselt ab..
Für die Schlüsselvariante ist es die Datei $OPENHAB_USERDATA/etc/keys.properties, für das Passwort ist es die Datei $OPENHAB_USERDATA/etc/users.properties.
Es reicht, den User in einer der Dateien anzulegen. Entsprechend kann sich ein User, der nur in der keys-Datei steht, nur mit Key anmelden, ein User, der nur in der users-Datei steht, kann sich nur mit Passwort anmelden.

Leider ist es so, dass es nicht vorgesehen ist, Passowrt-Anmeldung über ssh zu verbieten (das ist der Grund, warum die Console default nur auf localhost lauscht) Die einzige Möglichkeit besteht also darin, ein lachhaft komplexes Passwort zu setzen (man kann sich auch lokal über ssh mit der Konsole verbinden, also auch den private key dazu verwenden) oder alternativ den User komplett zu sperren.
Es kommt hier vor allem darauf an, wen man aussperren will :) oder ob das private/public key Verfahren vor allem der Bequemlichkeit dienen soll.

Nun war das alles keine direkte Antwort auf Deine Fragen, aber sie sollten trotzdem beantwortet sein :) Ansonsten frage nach ;)
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
OliverCJ
Beiträge: 405
Registriert: 29. Aug 2017 12:41
Answers: 3
Wohnort: Bergisch Gladbach

Re: Visual Studio Code

Beitrag von OliverCJ »

Guten Morgen Udo und vielen Dank für die Ausführungen! Sind schon die Antworten auf meine Fragen und ich hätte vermutet, mit der genauen Anleitung da in 5 min durch zu sein... Aber wie es dann so ist: Wenn man erstmal dran ist, tun sich neue Probleme auf :-(

Ich habe keine Ahnung, wie ich nun den Schlüssel aus der id_rsa.pub in die keys.properties kopiert bekomme..

Nehme ich den Explorer von meinem Windows-PC und gehe über Netzwerk - IP#.###.###.###\openHAB-userdata\etc, sehe ich die keys.properties und kann die auch problemlos mit dem Editor öffnen. Auf die /home/openhabian/.ssh/id_rsa.pub komme ich über diesen Weg leider nicht...
Die könnte ich wieerum über putty und dann mcedit öffnen. Nur klappt das Copy&Paste dann ja leider nicht (Von der Shell auf eine lokal geöffnete Datei). Und den Schlüssel per Hand abtippen.. och nö! ;-)

Die key.properties und user.properties werden mir wiederum in der Shell nicht angezeigt.

Dann wollte ich mit WinSCP drauf zugreifen, aber auch dort werden die beiden properties-Dateien wohl versteckt.

Könntest Du mir da auch noch mal helfen?

_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Visual Studio Code

Beitrag von udo1toni »

Die Arbeiten musst Du am besten in PuTTY erledigen. Alternativ kannst Du von Windows10 >=19.09 aus auch einfach das eingebaute ssh verwenden.
Du verbindest Dich mit der Linux-Bash mittels

Code: Alles auswählen

ssh openhabian@openhabpi
(der letzte Teil ist der Name des Servers im Netzwerk, alternativ kannst Du stattdessen auch die IP schreiben, also z.B.

Code: Alles auswählen

ssh openhabian@192.168.178.135
Über PuTTY hast Du den Vorteil, die Zwischenablage bequem nutzen zu können ;) notwendig ist diese aber nicht.
Du öffnest die keys.properties mittels

Code: Alles auswählen

sudo nano $OPENHAB_USERDATA/etc/keys.properties
und fügst am Ende ein paar Leerzeilen ein. Dann verlässt Du den Editor mit <strg>+x (und einem anschließenden y als Bestätigung für das Überschreiben)
Nun schreibst Du den Inhalt der id_rsa.pub ans Ende der Datei:
[cat /home/openhabian/.ssh/id_rsa.pub | sudo tee -a $OPENHAB_USERDATA/etc/keys.properties]
Jetzt öffnest Du die Datei wieder mittels

Code: Alles auswählen

sudo nano $OPENHAB_USERDATA/etc/keys.properties
Du kopierst die Beispielzeile mit <strg>+k - <strg>-u - <strg>+u, gehst in die Kopie der Zeile hinter das Gleichheitszeichen, fügst einen Absatz ein, gehst ans Ende der Zeile und fügst vor dem Komme einen weiteren Absatz ein. Damit steht nun der Beispiel-Key in einer eigenen Zeile. Du löschst diese Zeile mit <strg>+k. Du gehst ans Ende der Datei und löschst den einkopierten Key mittels <strg>+k. Nun gehst Du an die Stelle, wo der alte Key stand und fügst die zuletzt kopierte Zeile mit <strg>+u ein. Zum Abschluss entfernst Du die Absätze und änderst den Usernamen auf den gewünschten Usernamen. Die Raute zu Beginn der Zeile muss natürlich auch noch weg.
Wenn Du soweit fertig bist, speicherst Du die Datei mittels <strg>+x (und danach y).
Ich bin mir nicht sicher, ob die Änderungen unmittelbar wirken, evtl. musst Du openHAB also neu starten.

Prinzipiell könntest Du die Datei auch von Windows aus über WinSCP bearbeiten, aber Du musst aufpassen, dabei nicht das Format der Dateien zu ändern, die Variante über die Konsole ist also besser.
Das Verzeichnis .ssh wird nicht angezeigt, der Punkt am Anfang bedeutet, dass der Teil ausgeblendet wird. Mit <strg>+<alt>+h kannst Du die versteckten Dateien und Verzeichnisse einblenden. Solange Du die korrekten Zugriffsrechte hast, kannst Du auf alles zugreifen.


Ich habe ja oben die Zwischenablage erwähnt. Du kannst in PuTTY einfach Texte markieren (erstes Zeichen mit Maus anklicken und bei gedrückter linker Maustaste bis zum Ende markieren - solange man die Taste nicht loslässt, kann man die Markierung beliebig erweitern oder verkürzen). Der text ist unmittelbar in der Windows Zwischenablage.
Einfügen kannst Du den Text aus der Zwischenablage mit einem Rechtsklick (aber Achtung, der Text wird an der Cursorposition eingefügt, nicht dort, wo der Mauszeiger hindeutet).
Die Windows Zwischenablage lässt sich also hervorragend nutzen, um Text aus einer Datei in eine andere Datei einzufügen, man muss nur darauf achten, zwischendurch keinen anderen Text zu markieren.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten