ssh per LC ausführen

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

Schlagwörter: 

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
        Administrator

          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
            Administrator

              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.