[Python-de] fragen zu remote shell von NT nach Unix

Frank Immich frankimmich at gmx.de
Mon Apr 9 16:01:52 EDT 2001


Hallo Martin,
ich bin auf deine Antwort zu der Frage Remote-Shell (s. unten) von NT nach
Unix gestoßen und  müsste dein Wissen noch mal in Anspruch nehmen. 
Mit der Funktion telnet aus dem modul telnetlib kann man ja schon einiges
machen, das Problem ist nur leider, dass es keine richtige Remote-Shell
ist.Telnet ist ja mehr für das interaktive Arbeiten gedacht. Wie kann ich
denn am besten in Python das Unix "rsh" simulieren. Sprich nur Befehle unter
Unix ausführen, Ergebnisse zurückbekommen, ohne irgendwelche .profiles
durchzulaufen etc.  
Mit os.system('rsh -n ...') kommt man ja nicht unbedingt weiter, da man die
Ergebnisse nicht direkt zurückbekommt oder ..?   
Ich habe soweit verstanden, dass man zuerst eine Socket-Verbindung aufbauen
muss. Es gibt dazu auch ein paar Bsp. in der Python-Doku. aber das scheint
alles etwas umfangreicher.  Am schönsten, wäre es allerdings, wenn ich rsh
verwenden könnte (DOS). Ich bin schon soweit, das ich unter Python 
os.system ('rsh -l ... -n ... >  file') ausführe und das file auswerte. Das kann ja
wohl nicht die Lösung sein oder... ?    
Es wäre super, wenn du mir weiterhelfen oder mich auf den richtigen Weg
schicken könntest... 
Ciao Frank




                  alte mails 


                   Ich bin erst neu an Python herangekommen. Welche
Möglichkeiten gibt es,
                  > remote auf einer Unix-Maschine von NT oder WIN2k einen
Prozess zu
                  > starten?

                  Das hat erstmal so mit Python nichts zu tun: Wenn es mit
Python
                  möglich ist, dann auch ohne.

                  Auf der Unix-Maschine muss ein Server laufen, der darauf
wartet, die
                  Aufforderung zum Start eines Prozesses zu bekommen. Von
Haus aus gibt
                  es unter Unix dafür folgende Dienste:

                  - rsh
                  - telnet
                  - ssh

                  In allen Fällen muss man eine Socket-Verbindung zu einem
bestimmten
                  Port auf der Maschine aufbauen und bestimmte Daten senden,
woraufhin
                  der Server Prozesse starten wird. Administrativ kann die
Verwendung
                  dieser Dienste eingeschränkt oder unterbunden sein, das
hängt von
                  Deiner Installation ab. Zum Senden dieser Daten kann man
entweder
                  Python selbst nehmen, oder man startet ein Programm (z.B.
rsh) welches
                  dann die Verbindung aufbaut.

                  Neben diesen Standarddiensten gibt es weiter
Möglichkeiten:

                  - Ein Webserver auf der Unixmaschine könnte das Starten
von Programmen
                    unterstützen. Das machen die von Haus aus nicht, man
müßte
                    beispielsweise ein CGI-Skript schreiben.
                  - Du könntest einen eigenen Dienst definieren, der auf
einem bestimmten
                    Port lauscht. Diesen Dienst könntest Du beispielsweise
in Python
                    implementieren.

                  Ciao,
                  Martin



                  -- 
                  GMX - Die Kommunikationsplattform im Internet.
                  http://www.gmx.net

-- 
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net




More information about the Python-de mailing list