SSH Plugin Alternativen, private Key Funktion und osascript

  • DJay


    Nochmals kurz zurück zum ssh-plugin.


    Ich verwende aktuell [email protected] und das plugin verrichtet seine Arbeit.


    Falls dir das weiter hilft? Da du ja grundsätzlich zufrieden damit bist.....

  • Ich verwende aktuell [email protected] und das plugin verrichtet seine Arbeit.

    🤣 Whaaat? Bei mir hat das vor einiger Zeit den Dienst eingestellt.

    Dann bin ich damit auf den Pi Zero mit "alter" node umgezogen und hab es natürlich später nie wieder versucht.

    https://github.com/alguevara7/homebridge-ssh/issues/25

    Da gabs wohl von anderen Nutzern auch Probleme mit dem von mir heute neu erlernten Key. 🤷🏼‍♂️


    Edit: Hinweis gleich mal ausprobiert. Tatsächlich funktioniert das SSH Plugin nun auch bei mir wieder mit Node 12.16.3. Allerdings ist das sowas von langsam auch auf dem Pi 3B+ und kein Vergleich zu der Methode mit cmdswitch2. Werde wohl bei der "neuen" Methode bleiben.


    Wenn mir einer von den Jungs det und/oder sschuste noch hilft wie ich den state des Bildschirmschoner auch damit bekomme, wäre das DIE Lösung für mich.

    Hilfreich?

  • wie ich den state des Bildschirmschoner auch damit bekomme

    So, ich schlage dir folgendes Skript vor:


    sudo nano /usr/local/bin/screensaver.sh

    Bash
    #!/bin/bash
    if [ "$1" == "on" ]; then
        ssh [email protected] "osascript -e 'tell application \"ScreenSaverEngine\" to run'"
    elif [ "$1" == "off" ]; then
        ssh [email protected] "osascript -e 'tell application \"ScreenSaverEngine\" to quit'"
    elif [ "$1" == "status" ]; then
        ssh [email protected] "osascript -e 'tell application \"System Events\" to get running of screen saver preferences'"
    fi

    Abspeichern, dann sudo chmod +x /usr/local/bin/screensaver.sh


    Das kannst du testen mit

    /usr/local/bin/screensaver.sh on

    /usr/local/bin/screensaver.sh off

    /usr/local/bin/screensaver.sh status


    Dieses Skript macht also alles, einschalten, ausschalten und den Status abfragen.


    Die config.json enthält das hier:

    Das funktioniert grundsätzlich, nur wird leider der Status nicht sofort angezeigt. Soll heißen, wenn du den Screensaver manuell einschaltest, passiert weder in Home noch in Eve irgendwas. Bringst du die Apps in den Hintergrund und rufst sie dann wieder auf, wird der Status geändert. Weiß nicht woran das liegt. Vielleicht geht das homebridge-cmd4 besser, ich hab's noch nicht ausprobiert.

  • Du hast Glück. Ich kann hier nicht Herzchen und Trophäe gleichzeitig vergeben. Das würdest Du sonst nicht aushalten. 8o Vielen Dank für die Zeit die Du Dir genommen und das so mundgerecht aufbereitet hast.

    Funktioniert bei mir einwandfrei. :thumbup:

    Und der Status, wenn der Bildschirmschoner manuell ein/aus geht, wird bei mir sofort in der Eve App reflektiert.


    Jetzt nutze Deinen Ablauf für den Bildschirmschoner. Und erstmal auch Dank an det mit dem anderen Script, was ich für Homebridge load/unload nutze.

    Vielleicht bekomme ich das mit dem neu erlernten dann später auch noch ähnlich hin.


    Danke Euch allen für die lehrreichen und erfolgreichen Stunden. ^^ Schöner Tagesabschluss. <3

    Hilfreich?

  • Du hast Glück. Ich kann hier nicht Herzchen und Trophäe gleichzeitig vergeben. Das würdest Du sonst nicht aushalten.

    Lol, da bin ich ja noch einmal gerade so davon gekommen :D

  • So ähnlich habe ich es aktuell mit Web-Radio gemacht, da damit alle AirPlay2 Lautsprecher über längere Zeit synchron laufen.


    Ist euch bekannt ob man an osascript auch das Password zum deaktivieren des screensaver mit geben kann?

    • Hilfreich

    So ähnlich habe ich es aktuell mit Web-Radio gemacht, da damit alle AirPlay2 Lautsprecher über längere Zeit synchron laufen.


    Ist euch bekannt ob man an osascript auch das Password zum deaktivieren des screensaver mit geben kann?

    Wie schon ganz am Anfang per siri shortcut beschrieben:


    https://www.icloud.com/shortcu…ffeab478d9f8b72b322785a29


    Guck dir die scripte/den Aufbau an, kannst dann ja in homebridge uebernehmen!


    Damit wacht mein MacPro auf und loggt sich automatisch mit dem Passwort ein!

  • sschuste Ich denke ich benötige mal wieder Deine Expertise.


    Ich bin heute mit meiner Homebridge von systemd auf den hb-service umgezogen.

    Ich hatte immer die homebridge als User "Pi" nun glaube ich, ist es User "Homebridge".

    Tatsächlich hat es grundsätzlich gut funktioniert. Sowohl mit meiner "Homebridge" als auch mit der Instanz "Homebridge-2nd-Instance". Das ist nun alles unter /var/lib/homebridge und /var/lib/homebride-2nd-Instance


    Allerdings funktioniert jetzt das SSH Gedings nicht mehr.

    Code
    [20.11.2020, 18:05:24] [cmdSwitch2] Failed to determine iMac Bildschirmschoner state.
    [20.11.2020, 18:05:24] [cmdSwitch2] Host key verification failed.

    Wahrscheinlich weil jetzt der Zugriff nicht mehr von User Pi, sondern von Homebridge versucht wird?


    Könntest Du mir hier die Vorgehensweise erklären was ich tun muss, damit das wieder klappt?

    Ich weiß ja noch nichtmal welches Passwort der User Homebridge hat, da der automatisch erstellt wurde beim erstellen des hb-service. 🤷🏼‍♂️


    Somit... Hilfe 😩 und Danke vorab.

    Hilfreich?

  • Wahrscheinlich weil jetzt der Zugriff nicht mehr von User Pi, sondern von Homebridge versucht wird?

    Genauso ist es. Versuch's mal so:


    Login als User pi, und dann:

    sudo cp -av .ssh /home/homebridge

    sudo chown -R homebridge:homebridge /home/homebridge/.ssh


    und dann nochmal versuchen.

  • Dank Dir. Kurz bevor Du geantwortet hast, habe ich aus Ungeduld einfach alle Dateien die in /home/pi/.ssh waren nach /home/homebridge/.ssh kopiert.


    Und damit scheint sich das Problem schon gelöst zu haben. Zumindest zeigt das Log nach dem Neustart nicht mehr den Fehler und der Switch in HomeKit für den Bildschirmschoner auf dem iMac tut auch wieder seine Dienste.


    Wie bekomm denn als User "Homebridge" das Passwort um mich über SSH nun als dieser Benutzer einzuloggen? Hab sonst nie mit nem anderen User als "Pi" gearbeitet, was nun ja wohl nicht mehr der Fall ist.

    Hilfreich?

  • Wie bekomm denn als User "Homebridge" das Passwort um mich über SSH nun als dieser Benutzer einzuloggen?

    Das funktioniert ohne Passwort. Dazu sind diese ssh-keys da.

  • Das funktioniert ohne Passwort. Dazu sind diese ssh-keys da.

    Ja, das funktioniert wenn Homebridge nun zum Mac spricht.


    Aber ich logge mich bisher auch über die Termius App manuell auf den Pi auf die Konsole mit dem User Pi.

    Das würde ich natürlich gerne auch weiterhin tun, nur eben mit dem User Homebridge machen. Nur weiß ich da das Passwort eben nicht, oder wie setze ich das? Das hab ich für den User Pi vor X-Jahren sicher auch mal gemacht.

    Hilfreich?

  • sudo passwd homebridge