Starten von Skripts von einem anderen PC

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ist bestimmt eine Anfängerfrage, bin ich ja auch;)

    Ich habe einen Raspberry laufen, u.a. HA-Bridge installiert und steuere mit Alexa einiges. Auf die HA-Bridge kann ich vom anderen PC aus per HTTP://IP-Raspberry:8080 zugreifen und einrichten.

    Per Putty kann ich auch den Raspberry einloggen / und das script starten per ./schalter.sh Aber, wie starte ich das script vom anderen PC ?

    DANKE für die Hilfe

    Grüsse

  • framp Du meinst das Script mit plink starten?

    Genau. Es gab mal eine Zeit vor raspiBackup da hatte ich ein xbmc bei mir am laufen und die Config immer per ssh unter Linux gesichert. Ich weiss nicht mehr warum ... aber aus irgendeinem Grunde habe ich auch dokumentiert wie man das vom Windows aus mit plink machen kann.

  • Aha danke Euch für die Info zu plink.

    Ich probiere es derzeit aber es kommt als Fehlermeldung : unable to open command file "sudo"

    (natürlich sind user@home und pw angepasst)

    mit plink -ssh -P 22 -pw "*****************" pi@raspberry ohne weitere Angaben, bin ich eingeloggt
    und wenn ich dann das hier eintippe wird das script ./habridge/config/scripts/schalter.sh xxyyzzxxyyzz 1 ausgeführt

    das soll aber automatisch gehen, das hier geht alles nicht :

    plink -ssh -P 22 -pw "*****************" pi@raspberry -m /habridge/config/scripts/schalter.sh xxyyzzxxyyzz 1

    plink -ssh -P 22 -pw "*****************" pi@raspberry -m ./habridge/config/scripts/schalter.sh xxyyzzxxyyzz 1

    plink -ssh -P 22 -pw "*****************" pi@raspberry -m sudo /habridge/config/scripts/schalter.sh xxyyzzxxyyzz 1

    plink -ssh -P 22 -pw "*****************" pi@raspberry -m sudo ./habridge/config/scripts/schalter.sh xxyyzzxxyyzz 1

    (natürlich sind user@home und pw angepasst) irgendwie ist die Syntax noch falsch.

    Grüsse

  • Versuche doch mal in einem Script auf Computer A:

    Code
    ssh pi@raspberryB 'ls -al /home/pi ' 2>/dev/null

    Damit muesste auf dem RaspberryB das Kommando ls -al /home/pi ausgeführt werden.

    Wenn Du die Passwortabfrage nicht willst, dann musst Du noch den public key von Computer A in authorized_keys auf RaspberryB eintragen.

  • wend, da kommt leider nur kann den Pfad nicht finden

    ssh pi@raspberry -ls -al /home/pi ' 2>/dev/null

    ssh pi@IP_Adresse -ls -al /home/pi ' 2>/dev/null

    bei nur ssh pi@raspberry kommt kann Host nicht finden

    bei nur ssh pi@IP_Adresse kommt der login für PI

    Einmal editiert, zuletzt von cool- (21. März 2019 um 10:20)

  • Hm. Welcher pfad auch immer...

    Anstelle von 'ls -al /home/pi' musst Du natuerlich Dein Kommando einsetzen. Das ls ist ja nur ein Beispiel. Das Kommando muss in einfachen (oder doppelten) Hochkommata stehen.

    Wenn dein Kommando dauerhaft laufen soll, also wenn Du es nur von remote aus starten willst, dann gibt es zwei möglichkeiten:

    1. Wenn es keine Ausgabe macht, dann mit '&' hinter dem Befehl starten,

    2. wenn es eine Ausgabe macht, dann kannst Du die Ausgabe entweder in ein logfile umleiten:

    a) '/home/pi/meinscript.sh > logfile.log &' oder

    b) das ganze in einer screen session nutzbar machen: 'screen -d -m /home/pi/meinscript.sh'

    /home/pi/meinscript.sh muss dabei natürlich ausführbar sein. screen muss evtl. nachinstalliert werden. (sudo apt-get install screen)

  • llutz : DANKE ohne -m gehts:

    plink -ssh -P 22 -pw "*****************" pi@raspberry ./habridge/config/scripts/schalter.sh xxyyzzxxyyzz 1

    Schon mal ein Schritt weiter - Super

    Könnte ich einen ähnlichen Aufruf auch in Arduino Sketch einbauen ?

    Idee ist ein Wemos D1, bei start diesen "Befehl" oder Aktion ausführen zu lassen. Das sich der Ardunio im Wlan anmeldet geht, aber wie führe ich den Befahl aus ?

  • Hier würde sich wirklich ein Raspberry Pi (zero) besser eignen. Diese Kommando-Orgie geht über die ssh Schicht. Also mit voller Verschlüsselung etc. Dafür brauchst Du relativ viele und große libraries. Es kann wohl gehen, ist aber umständlich.

    Wäre nicht eine alternativere Möglichkeit besser: Du kannst auf dem Raspberry ja ein kleines Script starten, was dauernd auf UDP Pakete lauscht. Vom Adruino/NodeMCU/Wemos kannst Du dann einfach spezielle Pakete per UDP (unverschlüsselt) absetzen, die den Raspberry und das script erreichen, was daraufhin irgendeine Aktion auslöst.

    Diese Methode ist auch in Sketch leicht zu implementieren. Es git tausend Beispiele (Arduino + UDP).

    Einmal editiert, zuletzt von wend (21. März 2019 um 10:39)

  • Es geht mir eigentlich darum Fritzbox Aktoren ein /auszuschalten. Wie mit einem FritzDect400, den ich nicht kaufen möchte. Ich hab noch Wemos D1 rumliegen und wollte den dafür benutzen.

    Hab diese Script gefunden, was funktioniert. Ist aber etwas komplex da die Anmeldung in der Fritzbox mit Challenge + SID gemacht wird.

    Ralf hat das Skript eingestellt (danke dafür) :

    https://www.harmony-remote-forum.de/download/file.…358c726c9a97624

    Soweit ich das Skript verstehe, werden aus den Antworten von -wget z.B. Challenge und SID herausgelesen und die Challange auch MD5 umgerechnet.

    Wäre auch cool wenn ich dieses script in per Sketch in den Wemos bekäme. Bisher habe ich das nur auf dem Raspberry liegen.

    Grüsse

  • Die schwierigste Zeile fuer ein Sketch ist wohl diese:

    [cite]

    `echo -n $CPSTR | iconv -f ISO8859-15 -t UTF-16LE | md5sum | awk '{print substr($0,1,32)}'`

    [/cite]

    Den Rest des Skripts müsste man mehr oder weniger straight forward auf Sketch umsetzen können.

    Hm: Routinen für MD5 gibt es auch, das ganze Stringmanipulieren kriegt man vielleicht auch hin. Ist aber ziemliches gefrickel (selbst für einen passablen Programmierer).

  • Versuche doch mal in einem Script auf Computer A:

    Code
    ssh pi@raspberryB 'ls -al /home/pi ' 2>/dev/null

    Damit muesste auf dem RaspberryB das Kommando ls -al /home/pi ausgeführt werden.

    Wenn Du die Passwortabfrage nicht willst, dann musst Du noch den public key von Computer A in authorized_keys auf RaspberryB eintragen.

    ssh pi@ip_adressePI BEFEHL geht aber mit pw abfrage. Nur intressehalber, wie geht das mit den authorized_keys von CompiA -> RasPI ?

    Und gut wäre auch zu wissen warum der Host von meinen pi@RasPi nicht gefunden wird.

  • Genau, das denke ich auch. Bin auch begeistert von der schlanken schreibweise des Codes.

  • Wäre nicht eine alternativere Möglichkeit besser: Du kannst auf dem Raspberry ja ein kleines Script starten, was dauernd auf UDP Pakete lauscht. Vom Adruino/NodeMCU/Wemos kannst Du dann einfach spezielle Pakete per UDP (unverschlüsselt) absetzen, die den Raspberry und das script erreichen, was daraufhin irgendeine Aktion auslöst.

    Diese Methode ist auch in Sketch leicht zu implementieren. Es git tausend Beispiele (Arduino + UDP).

    Das klingt auch gut, hast du vielleicht einen Link wo ich mich einlesen kann ?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!