ssh

Fast jeder kennt ssh. Mit ssh kann man zu entfernten Rechnern Verbindungen aufbauen:

CODE:
  1. ssh user@host

Weniger bekannt ist, dass man mit ssh auch verschlüsselte Tunnels erstellen kann. Als einfaches Beispiel nehme ich eine komplett unverschlüsselte Telnet Verbindung zu einem netcat-Server. Rufen wir auf dem Server netcat auf mit:

CODE:
  1. nc -lp 2000

bzw. bei einigen Versionen:

CODE:
  1. nc -l 2000

Nebenbei starte ich noch den Sniffer ngrep, welcher mir alle Daten schön anzeigt und verbinde mich vom Server auf den Client mit:

CODE:
  1. telnet client 2000

Alle Daten, die ich schicke, zeigt der Sniffer unverschlüsselt an, z.B.:

CODE:
  1. T 192.168.0.1:33509 -> 192.168.0.2:2000 [AP]
  2.   das ist ein test.

Nun machen wir einen SSH-Tunnel draus! Disconnecten wir uns mit dem Client und starten auf dem Server netcat neu. Nun stellen wir auf dem Client den Tunnel her, und zwar mit:

CODE:
  1. ssh -L 3000:localhost:2000 user@server

Nun verbinden wir den Client folgendermassen mit dem Server:

CODE:
  1. telnet localhost 3000

Wir können jetzt problemlos Daten austauschen, die Verbindung ist verschlüsselt, wie ngrep mitteilt:

CODE:
  1. T 192.168.0.1:33522 -> 192.168.0.2:22 [AP]
  2.   .0R.j.C..x7.......r.B.h...[..Q.G{.._...f,C<.7C9H

Die Tunnels können auch umgekehrt hergestellt werden. Als Beispiel wollen wir eine SSH-Verbindung rückwärts aufbauen. Das ist besonders nützlich, wenn man zu einem hinter einem NAT-Router stehenden Computer eine SSH-Verbindung aufbauen möchte.

Nehmen wir an, wir sind Computer A und wollen zu Computer B, der hinter einem NAT-Router steht, eine Verbindung aufbauen. Auf Computer A muss dabei trotzdem ein SSH-Server laufen. Auf Computer B müssen wir nun folgenden Befehl eingeben, um den Tunnel herzustellen:

CODE:
  1. ssh -R 2000:localhost:22 user@A

Es sieht aus wie eine ganz normale Verbindung von Host B zu Host A. Nun stellen wir die eigentliche Verbindung zu Host B von Host A her:

CODE:
  1. ssh -p 2000 user@localhost

Diese Verbindung zu localhost stellt in Wirklichkeit eine Verbindung zu Host B her. Nun sind wir also auf Host B und können beliebige Befehle ausführen.

Quelle: www.eggdrop.ch

0 Antwort zu “ssh”


  • Keine Kommentare

Eine Antwort hinterlassen

XHTML: Du kannst folgende Elemente benutzen <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> :