man lernt doch nie aus

Ich hab ja bisher gedacht ich würde die meisten Tricks von ssh drauf haben. Aber ich bin dann doch mal über einen gestolpert, der banal und simpel ist, mir aber noch nicht bekannt war: die Option ProxyCommand. Mit dieser Option kann man für einen angegebenen Host einen Tunnel definieren der aufgebaut wird, bevor die eigentliche Verbindung gemacht wird. Mit dem Programm nc (Netcat) auf dem Rechner eins vor dem Zielsystem kann man sich damit wunderbar durch eine Kette von Firewalls tunneln, vor allem wenn man mit Auth-Forwarding arbeitet. Einfach in der .ssh/config einen Bereich ähnlich diesem einbauen:

 Host safe
   Protocol 2
   User me
   HostName 192.168.0.42
   ProxyCommand ssh door nc -q 0 safe 22

Hier wird jetzt einfach bei ssh safe intern mittels ssh door eine Verbindung zum Rechner door aufgebaut und dann dort eine Netcat-Verbindung zum ssh-Daemon auf dem eigentlichen Zielrechner safe erstellt. Das ganze kann man auch über mehrere ssh Hops wunderbar nutzen um dann direkt zwischen zwei Systemen durch eine Kette von Firewalls Files zu transportieren. ssh ist schon genial, wenns das nicht gäbe müsste man es glatt erfinden lachendes Gesicht

(in meinem Fall brauchte ich das für darcs - das kann nämlich nur über ssh Repositories pushen)

tags: Sysadmin

raven Aug. 6, 2005, 10:46 a.m.

Lustig, ich bin gestern darüber gestolpert, als ich mir mal wieder das TorifyHOWTO angesehen habe. Die verwenden connect und ProxyCommand für SSH mit TOR.

hugo Aug. 11, 2005, 2:26 p.m.

Hmm. Ist es eigentlich bezeichnend das bei meinen Experimenten mit socks-Proxies herausgekommen ist, das die beste freie Lösung tatsächlich tor ist, auch wenn das viel mehr macht als ich eigentlich bräuchte? :-)