Vielen Dank für die Antwort - Habe heutemorgen mal alles neuaufgesetzt und die homebridge als System laufen. seitdem funktioniert momentan alles problemlos =)
Homebridge SSH Verbindung
-
-
Hallo zusammen!
Habe folgendes Problem: immer wenn ich mich über meinen Mac mittels Terminal und ssh anmelde und Homebridge starte, läuft Homebridge nur so lange,
wie Terminal aktiv ist.
Gibt es eine Möglichkeit, sich über SSH/ Terminal abzumelden, ohne Homebridge zu stoppen?
Vielen Dank!
... wenn ich z. B. ein neues plugin installiert habe und war über shh verbunden, rufe ich dann "homebridge" im Terminalfenster auf, um zu sehen, ob es Fehlermeldungen gibt. Dann schließe ich das Fenster von Terminal und Homebridge wird gestoppt.
Ich muss mich dann derzeitig neu verbinden und Homebridge mit sudo reboot neu starten.
Finde dieses Vorgehen etwas unelegant ...
.... vielen Dank!
Nach dem Update auf Node lts 12.14.1 bekomme ich folgenden Fehler im Log.
Error: Error: Timed out while waiting for handshake
Das Plugin homebridge-ssh nutze ich um unter anderem vom Raspberry den Bildschirmschoner am iMac an/aus zu schalten.
Kurz vor dem Node Update von 11.14.0 auf 12.14.1 hat alles einwandfrei und seit Monaten funktioniert. Geändert außer dem Node Update auf dem Pi wurde nichts. Rebuild habe ich auch gemacht.
Alle anderen Plugin und Homebridge an sich laufen nach dem Node Update einwandfrei.
Vielleicht und hoffentlich hat jemand eine Idee zur Hilfe?
Danke vorab.
Code
Alles anzeigen{ "accessory": "SSH", "name": "Bildschirmschoner", "on": "osascript -e 'tell application \"ScreenSaverEngine\" to run'", "off": "osascript -e 'tell application \"ScreenSaverEngine\" to quit'", "state": "osascript -e 'tell application \"System Events\" to get running of screen saver preferences'", "on_value": "on", "exact_match": true, "ssh": { "user": "username", "host": "xxxxxxx.fritz.box", "port": 22, "password": "123abc345efg", "key": "" } },
Der letzte Beitrag ist zwar schon einige Monate her, allerdings benötige ich eure Hilfe.
Ich habe gerade an meinem "neuen" Smart Mirror gebastelt. Hier verwende ich von glancr "mirror.os" als fertiges Image auf nem RasPi 3+.
Ich habe ein Display über den USB-Port des RasPi's mit Strom versorgt. Auf dem RasPi läuft nur die Software für den SmartMirror. Um bei Abwesenheit das Display auszuschalten, lasse ich per ssh über dieses plugin die usb ports am Raspi stromlos schalten, Befehle siehe unten stehende config. Dies alles funktioniert auch einwandfrei und ich habe auch den Schalter bereits in HomeKit drin.
Allerdings blicke ich nicht, wie ich nun bei der "state" Abfrage den aktuellen Zustand des USB-Ports abfragen lasse. Sobald ich den Schalter betätige werden beide Befehle richtig ausgeführt, jedoch erhält der Schalter in. Home ein "!" - keine Antwort.
Könnte mir jemand helfen, wie ich die Zustandsabfrage konfiguriere?
Code
Alles anzeigen{ "accessory": "SSH", "name": "SmartMirror", "on": "sudo echo '1-1'|sudo tee /sys/bus/usb/drivers/usb/bind", "off": "sudo echo '1-1'|sudo tee /sys/bus/usb/drivers/usb/unbind", "on_value": "playing", "exact_match": true, "ssh": { "user": "user", "host": "192.xxx.xxx.xx", "port": 22, "password": "password" }
Nachdem ich den neuen Rechner aufgesetzt habe muss ich jetzt jedes Mal beim einloggen via "ssh pi@IP Adresse" auf (WIN 11) command Ebene das Passwort wieder eingeben. Beim alten Rechner habe ich das, nach Anleitung hier, eingerichtet, dass das nicht jedesmal notwendig ist.
Himmel wie wird das eingerichtet? Ich hätte das gerne so wieder. Ich finde die Beschreibung hier nicht mehr. Nach was hätte ich suchen müssen, wie heisst der Vorgang?
tuning ssh key
ssh-keygen in einem neuen Terminal auf dem Mac aufrufen, alle Meldungen mit return bestätigen, dann
ssh-copy-id [email protected] kopiert den Schlüssel auf den Raspi
Danke fürs Verschieben und die korrekte Namensgebung.
Ähm
ssh-copy-id [email protected]
oder
ssh -copy -id [email protected]?
ssh-copy-id
Dieses.
Also manuell am RasPi angemeldet.
Dann wie angegeben:
pi@raspberrypi:~ $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/pi/.ssh/id_rsa.
Your public key has been saved in /home/pi/.ssh/id_rsa.pub.
The key fingerprint is:
xyz
The key's randomart image is:
xyz
pi@raspberrypi:~ $ ssh-copy-id pi@IP_Adresse
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/pi/.ssh/id_rsa.pub"
The authenticity of host 'IP_Adresse (IP_Adresse)' can't be established.
ECDSA key fingerprint is SHA256:xyz
Are you sure you want to continue connecting (yes/no)?
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
The authenticity of host 'IP_Adresse (IP_Adresse)' can't be established.
Und nu?
Nein,
findet alles auf dem Mac statt (nicht erst per ssh auf dem pi anmelden).
Terminal auf dem Mac starten und dann nacheinander die Befehle absetzen.
Ok bei mir ist´s nen PC. Dürfte kein Unterschied sein.
Aber nach:
C:\Windows\system32>ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\name/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\name/.ssh/id_rsa.
Your public key has been saved in C:\Users\name/.ssh/id_rsa.pub.
The key fingerprint is: xyz
Dann:
C:\Windows\system32>ssh-copy-id pi@IP_Adresse
Der Befehl "ssh-copy-id" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Ihr immer mit euren Wintendo-Spielekonsolen.
Ok bei mir ist´s nen PC. Dürfte kein Unterschied sein.
Wenn das so wäre, hätte ich auch einen.
Your public key has been saved in C:\Users\name/.ssh/id_rsa.pub.
Der Inhalt der Datei id_rsa.pub muss auf den Raspi. Das erledigt bequem ssh-copy-id, aber man kann das auch per Hand machen. So wie ich das mein ganzes Leben gemacht habe, bis ich zufälligerweise herausfand, dass es ssh-copy-id gibt .
Auf dem Raspi muss ein Verzeichnis namens .ssh existieren. Das kannst du nach dem Login auf den Raspi erstellen mit:
mkdir .ssh (falls es schon da sein sollte, gib e's eine Fehlermeldung, die du ignorieren kannst).
Das Verzeichnis benötigt zwingend bestimmte Dateirechte:
chmod 700 .ssh
Wechsle in das .ssh-Verzeichnis:
cd .ssh
Nun muss der Inhalt aus id_rsa.pub auf dem PC in eine Datei namens authorized_keys. Öffne also irgendwie die Datei id_rsa.pub auf dem PC (mit Notepad oder so) und kopiere ihren Inhalt. Dann öffne auf dem Raspi die Datei authorized_keys:
nano authorized_keys
Falls die Datei authorized_keys schon existiert und bereits irgendwelche Keys enthält, dann muss der Key, den du kopiert hast, einfach unten angehängt werden. Gibt es die Datei noch nicht, so öffnet sich ein leeres nano-Fenster und du fügst den Key dort ein.
Ganz wichtig: Der Key muss ein eine einzige Zeile geschrieben werden. Er darf keine Zeilenumbrüche enthalten. Hier ein Beispiel von authorized_keys, in der sich vier Keys befinden:
Die vier Keys stehen jeweils in einer Zeile und sind nach rechts länger, als das Fenster es anzeigen kann. Daher steht am Ende jeder Zeile ein $. So muss das auch bei dir aussehen, aber auf keinen Fall beispielsweise so:
Falls es so aussieht, so bearbeite den Key und bring ihn in eine einzige Zeile.
Abspeichern und fertig.
Nun muss der Inhalt aus id_rsa.pub auf dem PC in eine Datei namens authorized_keys. Öffne also irgendwie die Datei id_rsa.pub auf dem PC (mit Notepad oder so) und kopiere ihren Inhalt. Dann öffne auf dem Raspi die Datei authorized_keys:
Alternativ:
cat id_rsa.pub >> authorized_keys
Das hängt einfach den Inhalt der Datei id_rsa.pub an den Inhalt von authorized_keys an. Gibt es diese Datei nicht, wird sie erzeugt.
Wichtig: Es sollten zwei ">>" sein. Nimmt man nur einen, wird der Inhalt von authorized_keys ersetzt.