Zum Inhalt springen

Reverse SSH Verbindung


Peter1

Empfohlene Beiträge

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 user@server.net

Wo liegen die Unterschiede?

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

Gruß

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es ist doch offensichtlich, dass ich von Linux nicht viel Ahnung habe. Und weil das so ist, kann ich damit:

"Specifies that the given port on the remote (server) host is to

be forwarded to the given host and port on the local side. This

works by allocating a socket to listen to port on the remote

side, and whenever a connection is made to this port, the

connection is forwarded over the secure channel, and a connection

is made to host port hostport from the local machine.

Port forwardings can also be specified in the configuration file.

Privileged ports can be forwarded only when logging in as root on

the remote machine. IPv6 addresses can be specified by enclosing

the address in square braces.

By default, the listening socket on the server will be bound to

the loopback interface only. This may be overridden by

specifying a bind_address. An empty bind_address, or the address

`*', indicates that the remote socket should listen on all

interfaces. Specifying a remote bind_address will only succeed

if the server's GatewayPorts option is enabled (see

sshd_config(5)).

If the port argument is `0', the listen port will be dynamically

allocated on the server and reported to the client at run time.

When used together with -O forward the allocated port will be

printed to the standard output."

rein gar nichts anfangen. Von meinen Englischkenntnissen ganz zu schweigen, die hier wohl als "verhandlungssicher" eingeschätzt wurden. Des Weiteren habe ich noch nie jemanden, der mich was gefragt hat, geantwortet: "Schau ins Lexikon...da stehts". Denn wenn es danach geht, sind diese ganze Foren überflüssig, da sowieso alles schonmal irgendwo steht, sei es in Büchern oder auf Internetseiten. Genau genommen braucht man noch nicht mal Schulen oder Universitäten, denn alles was dort gelehrt wird steht in Büchern.

Aus diesem Grund appeliere ich an eure Hilfsbereitschaft, die ich auch sehr zu schätzen weiß. Nur bitte ich darauf zu achten, dass ich eben kein "Fachinformatiker" bin, wie es die Seite vielleicht vermuten lässt.

Nach wie vor verstehe ich den Befehl nämlich nicht. Ich bekomme immer einen Time-Out. Nebenbei, die Option "-nNT" funktioniert bei mir nicht und wird ignoriert. Was auch immer das bedeutet. Z.B. habe ich es mit folgenden Befehl versucht:

ssh -l user -nNT -R 50000:192.168.0.1:22 Server-IP

192.168.0.1 ist die lokale IP des Client-PCs. 50000 ist der Port unter dem mein SSH Server (der der auf dem Server läuft) von außen erreichbar ist. Durch den Router wird er auf Port 22 umgeleitet, wo dann auch der SSH Dienst läuft. Allerdings läuft diese Verbindung ins Time Out. Warum?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich weiß nicht, warum man im IT-Umfeld zuhauf davon ausgeht, man könne auf jedliche Theorie-Kenntnisse verzichten.

Fakt ist, dass du deine Lösung nicht verstehst! Und das ist meiner Meinung nach fahrlässig. Wie willst du etwas absichern, administrieren oder debuggen, wenn du es nicht verstehst?

Darum wurden dir Hinweise auf die Manpage von ssh gegeben und der mehrfache Hinweis, diese bitte zu lesen.

Du bist des Englischen nicht mächtig, ergo liest du nicht?

Du bist der Linux- bzw. ssh-Grundlagen nicht mächtig, ergo hackst du trotzdem irgendwelche Kommandos in die Büchsen?

Sorry für den OT, aber damit wirst du (und im schlimmsten Fall auch Dritte) keinen Spaß haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...