Eine Möglichkeit, ein Verzeichnis über das Netzwerk auf einen anderen Rechner zu kopieren ist beispielsweise dieses über ssh zu erledigen. Zunächst einmal das Prinzip, wie man mit tar Verzeichnisse kopieren kann:
$ cd unter/verzeichnis/
$ tar cf - . | ( cd /woanders/hin && tar xvf - )
In die Pipe ließe sich auch ein ssh einbauen, wenn man das Verzeichnis auf einen anderen Rechner kopieren möchte:
$ cd unter/verzeichnis/
$ tar cf - . | ssh andererrechner "( cd /woanders/hin && tar xvf - )"
netcat bietet die Möglichkeit, stdin/stdout auf TCP oder UDP Verbindungen zu connecten. Es kann dabei als client laufen:
$ nc localhost 25
220 daemon.local.net ESMTP Sendmail 8.12.9p2/8.12.9; Sun, 16 Nov 2003 12:45:05 +0100 (CET)
quit
221 2.0.0 daemon.local.net closing connection
Andersherum kann man netcat auch auf einem Port lauschen lassen, wo man sich dann mit einem client connecten kann:
$ nc -l -p 1234
Mit Hilfe eines einfachen Shellscripts, welches 2 netcats miteinander verknüpft, läßt sich eine Verbindung via https-Proxy (CONNECT) aufbauen. Über den Tunnel kann man dann zB ssh laufen lassen. Das folgende Beispiel soll das etwas verdeutlichen:
Proxy ist rhb.local.net:3128, das entfernte Tunnelende ist charm.uugrn.org:22,
das lokale Tunnelende ist localhost:10022. Wenn der Tunnel aufgebaut ist, kann
eine ssh-Verbindung aufgebaut werden:
$ tvhpt
Teste rhb.local.net:3128 ... ok
Lege FIFO /tmp/tvhpt.97036 an ... ok
Tunnel zu charm.uugrn.org:22 via rhb.local.net:3128, lokaler Port 10022 ...
In einem anderen Terminal:
$ ssh -p 10022 127.0.0.1
Last login: Sun Nov 16 12:17:21 2003 from 217.5.139.253
OpenBSD 3.3-stable (GENERIC) #5: Thu Sep 18 13:58:04 CEST 2003
[...]
rabe@charm:~$