ssh als Tunnelgräber

Wie so viele Dinge bei *nix-Betriebssystemen gibt es viele kleine Tools, die für eine bestimmte Aufgabe bestimmt sind. Und dann für viele andere Dinge “mißbraucht” wird ;-) In loser Serie gibt es hier kleine Tipps, die ich selbst verwende und damit werde ich zumindest Teile des wikis anfüllen.

ssh als telnet-Nachfolger

ssh ist der “Nachfolger” des TCP-Schweizermessers telnet. Man kann viele Dinge, die mit telnet möglich waren, auch mit ssh machen. SSH ist natürlich verschlüsselt, wie der Name “secure shell” schon sagt. Aber ssh ist nicht nur praktisch für das Login auf einem entfernten Server, sondern kann auch einen “Tunnel” erstellen, über den ich dann Services des Rechners, der den Tunnel bereitstellt, nutzen, als wären sie lokale Services und das ganze verschlüsselt.

Tunnelgräber in Aktion

Ein weiterer Vorteil ist für Leute, die wie ich ihren Server daheim nur für sich nutzen, daß man hier wie bei Knopflochchirurgie nur einen einzigen Dienst nach außen anpreist, nämlich den eher schwer angreifbaren ssh. Nun, wofür nutze ich ihn jetzt? Nehmen wir ein einfaches Beispiel:
Ich möchte von der Ferne auf mein IMAP-Postfach auf meinen Server daheim zugreifen, möchte den IMAP-service aber weder über’s Internet so freigeben, noch möchte ich da ein IMAPS bauen- also eine ssl-verschlüsselte IMAP-Variante, noch möchte ich mir da eine Webmail-Lösung hinstellen (wofür sich dann erst wieder eine ssl-Verbindung empfiehlt) sondern ich hole mir über ssh den IMAP-Service lokal auf den Rechner. Und das geht ganz einfach so:
Ich öffne eine shell, tippe dort:

ssh -L 12345:localhost:143 -N zielhost

und schon habe ich einen Socket, auf dem nun über ssh eine Verbindung zu meinem IMAP-Server besteht. Alles, was ich nun tun muß, ist meinen email-Client zu sagen, daß die IMAP-Verbindung auf dem server “localhost” und dem Port “12345” zu finden ist. Voilá! =) Ich habe eine verschlüsselte Verbindung zu meinem IMAP-Server
Das geht natürlich auch mit jedem anderen beliebigen Service. Damit ich das auch als normaler user kann, muß es natürlich ein Port >1024 sein, da die well known ports dem user “root” vorbehalten sind. Und ich sollte mir merken, auf welchem Port mein socket lauscht;-)
Als Beispiel ein Konnekt auf meinen SMTP-Server, den ich mir auf meinen lokalen Rechner hole:

[16:14]luke@marvin:~> ssh -L 12345:localhost:25 -N fortytwo
Password:

Tja, das ist der Nachteil. Man muß eine Konsole dabei opfern, denn diese ist nun blockiert. Auf einer anderen Konsole schreibe ich nun:

[16:15]luke@marvin:~> telnet localhost 12345
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 fortytwo.universe ESMTP Postfix
ehlo schratz.at
250-fortytwo.universe
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250 8BITMIME

Voilá! - smtps für Arme ;-)

 
ssh_als_tunnelgraeber.txt · Zuletzt geändert: 2007/05/19 23:25 von admin
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki