PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unix Socket forwarden



cremetorte
23.08.11, 16:43
Hallo,

ich habe ein kompliziertes anliegen.

Ich habe einen Client C und einen Server S.

Ich möchte, dass der Client einen Unix Socket forwardet zum Server S

also auf dem Client:
/tmp/clientsock soll am besten irgendwie mit ssh getunnelt werden, dass der Server "lokal" auf den clientsock zugreifen kann.

Nin hab ich mich belesen und mit socat eine Version gefunden, bei dem ich einen FakeSocket auf dem Server errichte und immer wenn der Server den FakeSocket anspricht wird eine SSH Verbindung zum Client aufgebaut und dort mit dem clientsock verknüpft.
Das ist auch alles schön und gut, nur soll der Server ein Terminal Server sein und die Clients Thinclients, das bedeutet der Client solle den Verbindungsaufbau anstossen und nicht der Server.

Hat da mal irgendwer was gelesen?

derRichard
23.08.11, 16:51
gegenfrage, warum will man sowas?

irgendwie lässt sich das bestimmt herbasteln.
aber warum? *grusel*

//richard

TheDarkRose
23.08.11, 21:17
Warum nicht einfach eine TCP/IP Socket?

cremetorte
25.08.11, 15:12
Hi,

das will man im konkreten Fall vom pcscd. Ich habe einen Thinclient der über ein minimal linux verfügt ( nicht ubuntu ) und einen linux Server. Am Thinclient hängt der Smartcard Reader und am Server will ich die Smartcard nutzen.

ich habe es bis jetzt wie folgt relaisieren können

ClientTerminal:


ssh me@server
export PCSCLITE_CSOCK_NAME=$HOME/.pcscd.comm
socat "UNIX-LISTEN:$HOME/.pcscd.comm,reuseaddr,fork" EXEC:'ssh me@client socat STDIO UNIX-CONNECT\:/var/run/pcscd/pcscd.comm'
./program which uses pcscd

/var/run/pcscd/pcscd.comm ist der Socket und mit export PCSCLITE_CSOCK_NAME bestimme ich eben den externen Socket.

Resultat: ich bin mit SSH auf dem Server und mache zb pcsc_scan und er zeigt mir die Smartcard am CLient an.

Mein einziges Problem, dass ich mit der genannten variante nicht nur SSH-Client auf dem Thinclient brauche sondern auch nen SSH Server, damit der Server dann den Socket zum Client durchreicht.

Ist es irgendwie möglich das in einer SSH anfrage zu machen, da ja letztenldich es nur eine logische Rückantwort ist?