Peter1 Geschrieben 4. April 2012 Teilen Geschrieben 4. April 2012 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 4. April 2012 Teilen Geschrieben 4. April 2012 man ssh Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peter1 Geschrieben 4. April 2012 Autor Teilen Geschrieben 4. April 2012 Auf so eine Antwort habe ich gehofft. Die DD-WRT Firmware kennt diesen Befehl nicht!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 4. April 2012 Teilen Geschrieben 4. April 2012 Die DD-WRT Firmware kennt diesen Befehl nicht!!! aber jedes Linux oder Unix kennt diesen Befehl und die Manpages zu den Befehlen sind auch im Netz zu finden und da DD-WRT eine Linux Distribution ist, kann man das auch nach lesen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
axxis Geschrieben 4. April 2012 Teilen Geschrieben 4. April 2012 UNIX man pages : ssh (1) Du solltest zuerst verinnerlichen was genau du möchtest, um deine Lösung (die du bereits hast) zu verstehen. Was ein FQDN ist, hättest du auch alleine herausfinden können Fully qualified domain name - Wikipedia, the free encyclopedia Ohne Basics wirst du relativ wenig Erfolg haben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peter1 Geschrieben 5. April 2012 Autor Teilen Geschrieben 5. April 2012 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peter1 Geschrieben 5. April 2012 Autor Teilen Geschrieben 5. April 2012 OK...jetzt hab ich es. "-p 50000" hat gefehlt. Dieser Tip wäre sicher hilfreicher gewesen als die Diskussion über die Manpages:( Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
axxis Geschrieben 5. April 2012 Teilen Geschrieben 5. April 2012 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 5. April 2012 Teilen Geschrieben 5. April 2012 Es ist doch offensichtlich, dass ich von Linux nicht viel Ahnung habe. Die Dinge funktionieren unter Windows genauso. RTFM und versteh es ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.