Reverse SSH Verbindung

  • #1
E

Einsteiger

Neues Mitglied
Themenersteller
Dabei seit
04.04.2012
Beiträge
1
Reaktionspunkte
0
Hallo zusammen,

ich habe einen Server, der problemslos zu erreichen ist und ich habe einen Client PC, der hinter einer Firewall sitzt, die Verbindungen von außen blockiert. Die Namen Client und Server seien hier nur zur Veranschaulichung gewählt, damit man weiß von welchen Computer ich gerade rede.

Ab und zu muss ich aus dem Netz in dem der Server steht den Client PC erreichen.

Die Lösung dazu ist Reverse SSH. D.h. ich baue eine Verbindung vom Cilent PC zum Server auf. Dieser baut dann scheinbar (wenn ich es richtig verstanden habe) eine Verbindung zurück auf. Soweit zu Theorie. Kommen wir zur Praxis. Vieler Orts habe ich gelesen, dass man zunächst folgenden Befehl auf dem Client PC ausführen muss:

ssh -l user -nNT -R 1337:192.168.0.123:22 Server-IP

Zunächst, was bedeutet -nNT? Und v.a. was genau bedeutet das hier: 1337:192.168.0.123:22? Ist 192.168.0.123 die lokale IP des Servers? Welche bedeutungen haben die Ports 1337 und 22? Mein Server erreiche ich per SSH auf Port 50000 (wird dann vom vor dem Server stehenden Router auf Port 22 umgeleitet). Was muss ich nun genau für einen Befehl benutzen? Muss ich einen neuen Port in dem Router vor dem Server öffnen?

Als nächstes soll man diesen Befehl ausführen (auf dem Client PC?):

ssh -p 1337 localhost

Was macht der nun genau?

Ich habe auch folgenden Hinweis zu der Thematik gefunden:

Nutzen Sie beim Aufbauen des Tunnels wo immer möglich den FQDN, auch und gerade bei wechselden IP-Adressen (dyndns.org). Der Kunde wird sonst jedes Mal, wenn er die Verbindung aufbaut, die Sicherheitsabfrage vom SSH-Client bekommen.

Was bedeutet das?

Außerdem habe ich Alternativ zu obigen Befehl auch diesen gefunden:

ssh -R *:1337:localhost:22 [email protected]

Wo liegen die Unterschiede?

Vielen Dank für eure Mühen!!!

Gruß
Peter
 
  • #2
Hallo,

ich bin mit dieser Thematik selbst nicht besonders vertraut, aber verstehe das wie folgt:

-n: Eingaben werden nach /dev/null umgeleitet, sodass diese auf dem Client PC nicht nerven
-N: damit erstellst du den Tunnel
-T: dem Server wird kein pseudoy-tty (Pseudo Terminal) zugewiesen

1337:192.168.0.123:22 -> 1337 ist der Port deines Clienten und dahinter dessen IP. Port ist im Prinzip frei wählbar und sollte natürlich in der Firewall nicht geblockt sein. 22 ist der Standardport bei SSH.

Mit ssh -p 1337 localhost sagst du SSH, über welchen Port die Verbindung(en) vom Server reinkommen werden.

FQDN ist die Abkürzung für Fully Qualified Domain Name. Es ist bei solch einem Vorhaben am Besten, wenn die Adresse des Clienten immer die selbe ist. Funktionieren würde es aber auch bei z.B. dynamischen IPs, jedoch musst du dann beim Verbinden immer die Sicherheitsabfrage beantworten.

ssh -R *:1337:localhost:22 [email protected]
Das gibst du auf deinem Server ein, um dich mit dem Client zu verbinden. [email protected] steht für Benutzer und die Adresse deines Clienten.

Gruß
 
Thema:

Reverse SSH Verbindung

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben