Hi JY and Chris,
I remember that, at some point (if I remember correctly) you have been
interested in the possibility of communicating with an xrootd server
through ssh tunnels. Since this was one of the latest commits, if you
want to give a try to it, it's there (in the head).
Basically it's an implementation of the SOCKS4 protocol in XrdClient.
What follows is an example of how to use it.
I suppose that I want to access the file
root://kanolb-a.slac.stanford.edu//store/SP/R14/000993/run4/14.4.0c/SP_000993_002423.02E.root
into my laptop in Padova. We know that the kanga cluster at slac is not
accessible from outside (at least not from here). Here is a trivial
example of how to do it using a SOCKS4 ssh tunnel and xrdcp.
Step 1: Tunnel localhost-->noric02 mapping the local port 8080 through
SOCKS4
fabrizio@dhcp-61 15:20:32 ~>ssh -D 8080 [log in to unmask]
Step 2: in another window...
fabrizio@dhcp-61>xrdcp -d 2 -DISocks4Port 8080 -DSSocks4Server 127.0.0.1
root://kanolb-a.slac.stanford.edu//store/SP/R14/000993/run4/14.4.0c/SP_000993_002423.02E.root
~fabrizio/
and the copy should be ok.
... if you want to shut it up, remove the "-d 2" parameter.
Well, from Europe you will note that the data xfer rate is very low.
This will hopefully change in December, when we finish implementing the
multistream stuff.
Please note that the parameter Socks4Server does not understand names
yet, but IP addresses only.
Another thing that made me crazy. Typically the ssh-tunnelled port (8080
in the example) is only available from localhost. To override this and
make it visible also from other hosts, you have to use the "-g" switch
(for older ssh) or specify */8080 (in the more recent releases of ssh).
Any comment?
Fabrizio
|