Startseite › Foren › Deutsches LiveCode-Forum › ssh per LC ausführen
Schlagwörter: ssh shell
- Dieses Thema hat 13 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 3 Jahren, 6 Monaten von Torsten.
-
AutorBeiträge
-
-
Januar 28, 2021 um 18:46 Uhr #26150
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
-
Januar 28, 2021 um 20:19 Uhr #26152
Wenn die ganze Aktion auch so im Terminal (command line) durchführbar ist, sollte das auch mit LC klappen. Alle möglichen Permissions vorausgesetzt.
-
Januar 29, 2021 um 18:36 Uhr #26174
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.)
-
Januar 29, 2021 um 18:53 Uhr #26175
Das kann ich Dir leider nicht sagen, dazu kenne ich zu wenig von der Materie.
-
Januar 31, 2021 um 18:39 Uhr #26207
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 -
Februar 15, 2021 um 01:14 Uhr #26560
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
-
Februar 15, 2021 um 09:53 Uhr #26574
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 -
Februar 15, 2021 um 09:57 Uhr #26576
Ah, doch noch was gefunden: https://srvfail.com/how-to-provide-ssh-password-inside-a-script-or-oneliner/
-
Februar 15, 2021 um 11:31 Uhr #26578
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.
-
Februar 17, 2021 um 18:56 Uhr #26642
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
-
Februar 17, 2021 um 20:49 Uhr #26654
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"
-
-
Februar 17, 2021 um 18:57 Uhr #26644
Nachtrag:
man muss halt die beiden exe mit kopieren lassen
LG Immanuel
-
Februar 17, 2021 um 21:26 Uhr #26658
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
-
Februar 18, 2021 um 08:59 Uhr #26664
Gratulation und Danke für die Mitteilung der Lösung, das wird anderen in vergleichbarer Lage bestimmt helfen 🙂
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.