Einzelnen Beitrag anzeigen
Alt 15.07.2005, 19:00   #8
Clystron
Hero
 
Registriert seit: 07.02.2001
Alter: 46
Beiträge: 805


Clystron eine Nachricht über ICQ schicken
Standard

RSH ist sowas wie SSH nur älter und halt viel schneller im Verbindungsaufbau da ohne Verschlüsselung und das war ja dein einziges Problem im Eröffnungspost.

Aber egal:
Linux am client eröffnet schonmal ein paar möglichkeiten...

JEDER Prozess hat seine STDIN/STDOUT/STDERR filedeskriptoren, bei Daemons werden diese aber bewusst nach dem Start geschlossen bzw. vom Terminal getrennt. Du musst halt dafür sorgen dass du den STDIN des SSH-Clients irgendwo festbindest wo du ihn wiederfindest (PTY oder FIFO/named PIPE)...

Beispiel:
Du startest "program | ssh-client" im Hintergrund, "program" öffnet eine named PIPE "/tmp/connection" und wartet auf Eingabe. Über "/tmp/connection" kannst du dann deinem program befehle schicken und das wiederum kann sie an den ssh-client weiterleiten. Blöd nur wenn der sich beendet...

Schöner wär natürlich ein tool das selbst den ssh-client startet über vfork/exec und sich da dran heftet. Ich hab sowas schonmal gemacht müsste aber den Source-Code erstmal suchen gehen...

Über den inetd ginge es z.B. so:

Am Server ein Script das nach dem starten eine Zeile von STDIN liest und je nach deren Inhalt die Verbindung aufbaut oder trennt. Das dann über den inetd an ein TCP oder UDP port hängen und für den Client das gegenstück schreiben (kleines C-Programm).

Oder du machst jeweils ein Script für den Auf und Abbau der Verbindung und hängst sie an 2 TCP Ports. Dann wirds am Client einfacher, einfach Telnet auf port xxx und das Script baut die Verbindung auf, bei port yyy wird sie getrennt.

Ist natürlich alles mehr oder weniger "quick and dirty"

mfG
Wolfgang
____________________________________
God, Root, what is difference?
Clystron ist offline   Mit Zitat antworten