ssh per LC ausführen

Startseite Foren Deutsches LiveCode-Forum ssh per LC ausführen

Schlagwörter: 

  • Dieses Thema hat 14 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 2 Monaten von Torsten.
Ansicht von 12 Antwort-Themen
  • Autor
    Beiträge
    • #26150
      foto2004
      Teilnehmer

      Eine Frage, ist es möglich per LiveCode sich mittels ssh an einer anderen Maschine anzumelden und da Shell befehle auszuführen und das Ergebnis anzuzeigen?

      LG Immanuel

    • #26152
      Klaus Major
      Verwalter

      Wenn die ganze Aktion auch so im Terminal (command line) durchführbar ist, sollte das auch mit LC klappen. Alle möglichen Permissions vorausgesetzt.

    • #26174
      foto2004
      Teilnehmer

      Nun ich meine das so dass die LC App auf einem (Windows Rechner) läuft und von dort aus per SSH auf einen (Linux Rechner) zugegriffen wird um ein z.B. Script ausführt um mit der Ausgabe von dem Script weiter abreiten zu können (anzeigen usw.)

    • #26175
      Klaus Major
      Verwalter

      Das kann ich Dir leider nicht sagen, dazu kenne ich zu wenig von der Materie.

    • #26207
      Torsten
      Teilnehmer

      Ich habe mich bisher auch noch nicht damit beschäftgt, aber einen Thread im englisc hen Forum gefunden, bei dem es um ein ähnliches Thema geht:

      http://forums.livecode.com/viewtopic.php?f=11&t=34143&p=192072&hilit=ssh#p192072

      Einer der Teilnehmer postete folgende Zeile und das sieht so aus, als ob das Dir helfen könnte:

      put shell("ssh pi@192.168.178.31 ls /home/pi & exit") into fld "Ausgabe"-- returns a listing of the remote dir on Unix

      Schreib hier mal rein, wenn Du das Problem gelöst hast.

      Happy coding
      Torsten

    • #26560
      foto2004
      Teilnehmer

      Hallo Torsten,

      entschuldige dass ich mich jetzt erst melde.

      Leider scheitert es an der Passwortabfrage. es hilft auch nichts wenn ich

      put shell("ssh pi:passwort@192.168.2.165 ls /home/pi & exit") into fld "lblAusgabe"
      

      das Passwort gleich mitschicke ssh möchte trotzdem eine Passwortabfrage.

      Eine Idee wie ich das Passwort übergeben kann?

      LG Immanuel

    • #26574
      Torsten
      Teilnehmer

      Hi Immanuel,
      ich glaube, dass man das Passwort leider NICHT direkt übergeben kann (Ergebnis einer kleinen Webrecherche).

      Ich hätte eine andere Idee: wie wäre es, wenn Du auf dem Linux-Rechner einen Livecode-Server einrichtest und dann Deine Kommandos per GET oder POST aufrufst? Hast Du daran schon mal gedacht?
      Ich mache derzeit sehr viel mit Livecode Server und würde diese Methode empfehlen.

      Der Weg dahin:
      1. auf dem Linux-Rechner einen Webserver einrichten (auf dem Mac nehme ich MAMP, auf Linux kenne nich mich noch nicht aus)
      2. in das cgi-bin-Verzeichnis des Webservers die Livecode-Server-Dateien kopieren und auf ausführbar setzen
      3. im htdocs-Verzeichnis des Webservers eine .htaccess-Datei erstellen die folgende Zeilen enthält:

      AddHandler livecode-script .lc
      Action livecode-script /cgi-bin/livecode-community-server
      Options ExecCGI +Indexes
      IndexOptions +FancyIndexing
      

      Fertig!

      Jetzt kannst Du Livecode-Skripte schreiben, welche z.B. shell-Befehle enthalten und das Ergebnis im Browser bzw. in deiner Livecode-App zeigen. Diese Skripte liegen auf deinem Linux-Rechner und werden durch normale http-Aufrufe gestartet

      Wenn das für Dich eine Möglichkeit ist, dann kann ich auch noch mehr Tipps geben.

      Happy Coding
      Torsten

    • #26576
      Torsten
      Teilnehmer
    • #26578
      foto2004
      Teilnehmer

      Danke Torsten,

      im Prinzip würde das schon so gehen aber ich möchte eine Oberfläche basteln die auch auf Windof läuft.

      Hintergrund: es soll ein kleines Tool werden dass mir den WireGuard Server auslesen kann um z. B. die angemeldeten Clients anzeigen kann.

      Muss ich mal schauen wie das mit Schlüssel usw geht.

    • #26642
      foto2004
      Teilnehmer

      So ich habe da eine Lösung gefunden:

      mit plink geht es. Ist bei dem ganzen Putty Zeugs dabei man kann sich die Dateien aber auch einzeln runterladen. Ich habe als erstes diese Anleitung gefunden

      aber unterm PI funkt es nicht ganz so. Habe eine weile gebraucht biss ich dahinter gestiegen bin, aber so geht es.
      put shell("pLink.exe -l pi -pw <passwort> 192.168.X.X "& fld"fldEingabe" &"") into fld "lblAusgabe"

      Mann kann sogar mit tcsp sich Dateien auf den Rechner übertragen:
      put shell("pcsp.exe -r -pw <passwort> pi@192.168.X.X:/home/pi/livecode/* D:\testscp") into fld "lblAusgabe"

      Sind jetzt nur die Grundgerüste aber das sin die Sachen die ich gesucht habe und auch für mein anderes Projekt (Ladelisten) verwenden kann. da brauch ich nicht mit batch Dateien rumhantieren und kann mir die Updates gesichert herholen.

      LG Immanuel

      • #26654
        foto2004
        Teilnehmer

        Ups da hat sich ein Fehler eingeschlichen

        muss natürlich pscp.exe sein

        put shell("pscp.exe -r -pw <passwort> pi@192.168.X.X:/home/pi/livecode/* D:\testscp") into fld "lblAusgabe"

    • #26644
      foto2004
      Teilnehmer

      Nachtrag:

      man muss halt die beiden exe mit kopieren lassen

      LG Immanuel

    • #26658
      foto2004
      Teilnehmer

      Noch einmal ein Nachtrag:

      leider gibt es bei pscp einen Bug man muss noch zusätzlich den Port mit angeben. Steht aber nirgends in den Anleitung habe es durch Zufall in einem Forum entdeck.

      put shell("pscp.exe -C -agent -r -P 22 -l pi -pw PASSWORT 192.168.X.X:/home/pi/livecode/* D:\testscp") into fld "lblAusgabe"

      So funktioniert es, zumindest bei meinem Windoof-Lappi

      LG Immanuel

    • #26664
      Torsten
      Teilnehmer

      Gratulation und Danke für die Mitteilung der Lösung, das wird anderen in vergleichbarer Lage bestimmt helfen 🙂

Ansicht von 12 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.