Home / LinuxUser / 2012 / 05 / Quick-and-Dirty-Tunnel mit SSH und Sshuttle

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Sicherer Durchgang

Quick-and-Dirty-Tunnel mit SSH und Sshuttle

Arme-Leute-VPN

Das unter der GPL lizenzierte Sshuttle eignet sich perfekt für den Einsatz in öffentlichen Netzen. Es nutzt einen bisher einzigartigen Ansatz, um on-the-fly ein SSH-VPN zwischen unixoiden (Linux, BSD, Mac OS X) Betriebssystemen aufzubauen und den kompletten Client-Datenverkehr zu tunneln.

Das relativ neue Sshuttle findet sich noch nicht in den Paketquellen aller Distributionen, falls vorhanden, fällt die Version – aktuell war zu Redaktionsschluss Sshuttle 0.60 – oft recht altbacken aus. So hat Debian "Sid" etwa Sshuttle 0.54-1 an Bord [2], das aktuelle Ubuntu 11.10 "Oneiric" enthält Version 0.53-0.1. Zum Ausprobieren der aktuellen Version 0.60 kommen Sie daher um ein manuelles Installieren nicht herum. Das stellt aber kein wirkliches Problem dar, weil es sich bei Sshuttle um ein in Python programmiertes Kommandozeilenwerkzeug handelt.

Sshuttle baut das VPN von der Client-Seite herauf, wofür es dort Root-Rechte benötigt. Außerdem muss Iptables installiert sein, das praktisch alle gängigen Distributionen ohnehin bei der Installation einrichten. Die aktuelle Sshuttle-Version ist unter Github [1] gehostet und steht wahlweise als ZIP-Archiv oder Tarball zum Download bereit. Da es sich um ein Python-Programm handelt, genügt das einfache Auspacken des Pakets (oder das Auschecken von Github), und Sie können Sshuttle sofort einsetzen. Ein typischer Aufruf sieht so aus:

$ sudo ./sshuttle --dns -vv -r User@Ziel-Host 0/0

Hier tunnelt -dns zusätzlich den DNS-Verkehr, -vv erhöht die Gesprächigkeit der Anwendung, und das Kürzel 0/0 stellt einen Alias für das IP-Binding 0.0.0.0/0 dar, das alle lokalen Adressen einbezieht. Sie könnten Sshuttle über Verändern dieser Maske problemlos auch auf ein bestimmtes Subnetz oder eine spezifische IP hängen. Das war's schon.

Abbildung 1

Abbildung 1: Sshuttle erweist sich im Bedarfsfall sehr nützlich, da es auf den Bordmitteln eines Linux-Rechners aufbaut.

Ab jetzt tunnelt Sshuttle den gesamten Traffic, inklusive DNS-Anfragen. Wer den vergleichbaren Aufwand mit SSH-Portforwarding kennt, kann möglicherweise im ersten Moment kaum glauben, dass Sshuttle funktioniert. Dass es das aber tut, verifizieren Sie leicht, indem Sie die externe IP prüfen – etwa durch Besuch eine entsprechenden Test-Webseite [3]. Bei aktiviertem Tunnel sollte hier die IP-Adresse des Servers oder entfernten Hosts erscheinen, andernfalls die des lokalen Routers.

Abbildung 2

Abbildung 2: Je eine Verbindung vom lokalen Host ohne Proxy und via Sshuttle mit Proxy auf einen entfernten Server.

Quick and Dirty

Möchten Sie wissen, wie Sshuttle das zuwege bringt, dann sollten Sie sich die ausführliche Dokumentation [4] des Tools näher ansehen. Im Prinzip verbiegt Sshuttle via Iptables die Routing-Tabellen auf dem Client, kopiert sich selbst auf den Server und fungiert sozusagen als transparenter Proxy.

Dass dieses Verfahren ähnlich wie ein doppelter SSH-Tunnel nicht ganz astrein ist und insbesondere in Unternehmen ein Sicherheitsproblem darstellt, liegt auf der Hand – muss Sie aber als Privatnutzer nicht stören. Beabsichtigen Sie allerdings, auf diese Weise von zuhause auf Ihren Arbeitsplatzrechner in der Firma zuzugreifen, sollten Sie tunlichst zuvor Ihren zuständigen Admin informieren (sofern Sie der nicht selbst sind), weil das Funktionsprinzip von Sshuttle mit hoher Wahrscheinlichkeit gegen Firmenrichtlinien verstößt.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 82 Punkte (8 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...