ssh Integration in die GUI
-
So hallo ihr Experten,

ich hänge hier schon den ganzen Tag an meinem Problem fest.
Und zwar will ich von einer GUI aus Befehle von einem Windows PC auf einem Linux Rechner ausführen.
Zum Beispiel, dass wenn man auf einen Button "AddUser" klickt, dass dann auch "useradd -blabla" auf dem Linux Rechner ausführt. Ich hab mir gedacht, dass das am besten mit ssh geht und hab nun durch cygwin ssh auf meinem Windows Rechner.
Nun hab ich mir gedacht, lass ich mein Programm erstmal sich auf dem anderen PC mit dem Befehl system("ssh IP") einloggen.
Dann öffnet sich auch so ein hässliches Dosfenster, wo ich dann mein Passwort eingeben muss und dann bin ich eingeloggt. Ich kann auch jetzt schön meine Befehle in das Dosfenster eingeben, die ausgeführt werden sollen, nur wie mache ich es, dass meine GUI jetzt Befehle an den anderen Rechner schicken kann?
Weil durch einen erneuten system() aufruf öffnet sich ja ein weiteres Fenster, nachdem ich im ersten Fenster exit eingegeben habe.Ich hoffe jemand hat eine Idee
Grüße
h3x0g3n
-
Mach ne Pipe zu deiner Consolenanwendung auf und schreib in den STDIN von deinem SSH Programm.
-
Benutze den externen SSH-Client einfach dazu, einen Tunnel für Telnet aufzubauen.
In deinem Programm kannst du dann z.B. die Telnet-Komponente aus dem Indy-Paket verwenden, um direkt Konsolenbefehle an den Server abzusetzen.Statt system solltest du aber auf jeden Fall ShellExecute/-Ex oder CreateProcess verwenden, um mehr Kontrolle über den externen Prozess zu erhalten.
Alternativ könntest du dir natürlich auch den Quelltext eines der zahlreichen freien SSH-Clienten vornehmen und versuchen, das direkt in dein Programm zu integrieren.
-
Könntet ihr mir vielleicht noch eine kleinen Tipp geben, wie ich die Pipe erstellen soll?
Vielen Dank
-
Hallo
such im WinAPI-Forum nach *pipe*, denndort gehört das Thema dann hin.
bis bald
akari