Reverse SSH mit VServer

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    wir haben unseren privaten Internetaschluss bei Unitymedia. Wie die meisten vermutlich wissen, bekommt man dort keine eigene IPv4 mehr sondern muss sie sich mit anderen Kunden teilen. Dadurch ist es ohne Umwege nicht möglich private Server zu erreichen.

    Momentan verbindet sich mein Raspberry Pi zum IPredator VPN um über dessen IPv4 von extern erreichbar zu sein. Das funktioniert auch sehr gut, eine Verbindung zum Seafile-Server auf dem RPI ist möglich.

    Nun wollte ich mir die monatlichen 6€ für den VPN-Zugang sparen und habe mir einen kleinen VServer für 1,09€ monatlich gemietet: https://linevast.de/information/da…oserver-XS.html
    Von dort wollte ich eine Reverse SSH Verbindung zum Seafile-Server auf dem RPI (192.168.0.100:8001) herstellen. Dabei habe ich mich an verschiedene Anleitungen (z.B. diese) im Netz gehalten, jedoch bekomme ich keine Verbindung zustande.

    VServers: 31.214.242.65
    VServer SSH-Zugang: 31.214.242.12
    RPI mit Seafile: 192.168.0.100:8001

    Nach:

    Code
    ssh -R 10011:192.168.0.100:8001 username_des_sshzugangs_auf_vserver@31.214.242.12


    Kann ich weder per:

    Code
    https://31.214.242.65:10011


    noch mit

    Code
    https://31.214.242.12:10011


    auf den Seafile-Server zugreifen.

    Ich hoffe jemand kann mir bei meinem Vorhaben helfen.


  • Nach:

    Code
    ssh -R 10011:192.168.0.100:8001 username_des_sshzugangs_auf_vserver@31.214.242.12


    Kann ich weder per:

    Code
    https://31.214.242.65:10011


    noch mit

    Code
    https://31.214.242.12:10011


    auf den Seafile-Server zugreifen.

    Funktioniert der Portscan:

    Code
    sudo nmap -sS 31.214.242.65 -p10011
    Code
    sudo nmap -sS 31.214.242.12 -p10011


    ?
    Siehe auch Tunnelling https over ssh

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Leider nein, der Port ist laut Scan geschlossen.

    Wird auf Port 10011 gelauscht? Wie sind auf dem lauschenden Gerät, die Ausgaben von:

    Code
    sudo netstat -tulpen | grep -i 10011
    sudo iptables -nvx -L


    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Code
    root@Shadow:/# netstat -tulpen | grep -i 10011

    Dann mal die Ausgabe von:

    Code
    netstat -tulpen


    , um zu sehen an welchen Ports gelauscht wird.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Habe dieses Mal:

    Code
    pi@raspberrypi ~ $ ssh -R 8001:localhost:80 console-BNSR8S@31.214.242.12


    versucht.


  • Habe dieses Mal:

    Code
    pi@raspberrypi ~ $ ssh -R 8001:localhost:80 console-BNSR8S@31.214.242.12


    versucht.

    Code
    root@Shadow:/# netstat -tulpen
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
    tcp6       0      0 :::80                   :::*                    LISTEN      0          16456780    1861/apache2

    apache lauscht hier aber nur mit tcp6.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • ... weshalb es nicht funktioniert?

    Du meinst warum dein apache nicht mit dem Protokoll tcp (und nicht nur tcp6) so lauscht, dass der apache auch mit einer IPv4-Adresse erreichbar ist?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Auf dem RPi läuft Seafile mit nginx statt apache. Hatte mich bei der Konfiguration an Seafile-Tutorials aus dem Netz gehalten.
    Die Ausgaben von netstat stammen vom VServer und nicht vom RPi.

    Momentan ist der RPi über die IPv4 von IPredator erreichbar.

    Einmal editiert, zuletzt von Shadow27374 (27. Oktober 2014 um 11:56)

  • Hallo Shadow27374,

    Zuerst musst Du prüfen, daß die Website lokal erreichbar ist.

    Code
    curl -4 127.0.0.1:8001 | less

    Dann den reverse tunnel aufbauen.

    Code
    ssh -R 10011:127.0.0.1:8001 SSHServer

    Dann funktioniert der Aufruf mit

    Code
    http://SSHServer:10011/


    (nur http, kein https)

    Fall der Tunnel von einem anderen Rechner gestartet werden soll, musst Du latürnich die Tests von diesem Rechner aus machen und die IP anpassen.

    Bei mir funktionierts so prima.

    Einmal editiert, zuletzt von MartiMu (27. Oktober 2014 um 12:19)


  • Zuerst musst Du prüfen, daß die Website lokal erreichbar ist.

    Code
    curl -4 127.0.0.1:8001 | less
    Zitat von MartiMu

    Dann den reverse tunnel aufbauen.

    Code
    ssh -R 10011:127.0.0.1:8001 SSHServer
    Code
    pi@raspberrypi ~ $ ssh -R 10011:127.0.0.1:8001 console-BNSR8S@31.214.242.12
    console-BNSR8S@31.214.242.12's password:
    Last login: Fri Oct 24 14:40:28 2014 from anon-35-210.vpn.ipredator.se
    Starting PowerConsole v1.3 <> (c)2012 soluslabs ltd.
    please wait...
    successfully logged in.
    entered into CT 623
    root@Shadow:/#
    Zitat von MartiMu

    Dann funktioniert der Aufruf mit

    Code
    http://SSHServer:10011/


    (nur http, kein https)


    Sowohl http://31.214.242.65:10011/
    als auch http://31.214.242.12:10011/
    liefern nichts.

    Kann das auch an deren VServer liegen? Ich frage mich sowieso weshalb ich erst eine Konsole per Weboberfläche aktivieren muss um dann per SSH auf den Server zu kommen.


  • Zuerst musst Du prüfen, daß die Website lokal erreichbar ist.

    Code
    curl -4 127.0.0.1:8001 | less

    Wenn dann muss er diese Prüfung auf Port 80 durchführen, da Port 8001 erst anschließend durchs Aufbauen des Tunnels zur Verfügung stünde

    Code
    curl -4 127.0.0.1:80 | less

    Das nachfolgende was du beschreibst MartiMu funktioniert so aber auch nicht da kein Dienst auf dem PI auf Port 8001 lauscht. Das war der vom TE gewählte Remote-Port...

    Wenn man sich seine netstat -tulpen Ausgabe in Beitrag#7 anschaut, sieht man das sein apache2 ausschließlich auf Port 80 lauscht, also kein 443 für ssl.


    Lies dir mal bitte folgende Anleitung hier im Forum durch: Fernwartung über eigenen Proxy / Tunnel

    Allerdings glaube ich nicht das der TE unbedingt ein Reverse Tunnel benötigt ...

  • Wenn dann muss er diese Prüfung auf Port 80 durchführen, da Port 8001 erst anschließend durchs Aufbauen des Tunnels zur Verfügung stünde

    Code
    curl -4 127.0.0.1:80 | less

    Das nachfolgende was du beschreibst MartiMu funktioniert so aber auch nicht da kein Dienst auf dem PI auf Port 8001 lauscht. Das war der vom TE gewählte Remote-Port...

    Wenn man sich seine netstat -tulpen Ausgabe in Beitrag#7 anschaut, sieht man das sein apache2 ausschließlich auf Port 80 lauscht, also kein 443 für ssl.


    Lies dir mal bitte folgende Anleitung hier im Forum durch: Fernwartung über eigenen Proxy / Tunnel

    Jetzt bin ich verwirrt. Auf meinem RPi läuft nginx und Seafile. Seafile nutzt Port 8001 für SSL und 8000 ohne SSL. Der Port 8001 ist also doch schon immer offen auf dem lokalen RPi.

    Auf dem VServer habe ich bislang nur die Option GatewayPorts hinzugefügt.

  • Jetzt bin ich verwirrt. Auf meinem RPi läuft nginx und Seafile. Seafile nutzt Port 8001 für SSL und 8000 ohne SSL. Der Port 8001 ist also doch schon immer offen auf dem lokalen RPi.

    Wie gesagt, Dein Beitrag#7 zeigt etwas anderes:

    Da steht nichts von wegen 8000 oder 8001 ... Oder siehst du diese Ports dort aufgelistet?

    Und guck auch mal hier:
    http://manual.seafile.com/deploy/using_firewall.html
    http://manual.seafile.com/deploy/deploy_with_nginx.html

    Also ich glaub nicht das du mit den von Dir bisher genannten Ports weit kommen wirst ;) Von nginx ist bei deinem Beitrag#7 nämlich auch nix aufgelistet sondern nur apache2 ... Hast du vielleicht beides installiert aber nginx lässt sich gar nicht starten da apache2 die Ports bereits beantsprucht :huh:


    PS: Bitte nicht komplette Beiträge quoten die genau dadrüber stehen, das machts nur unübersichtlicher.


  • Da steht nichts von wegen 8000 oder 8001 ... Oder siehst du diese Ports dort aufgelistet?

    Nein, denn das war ja auch der VServer. Auf dem RPi sieht es folgendermaßen aus:

  • Auf ein neues.^^ Scheinbar gab es ein paar Missverständnisse.

    Port 8001 lauscht auf dem RPi da dort Seafile installiert ist und funktioniert.
    Port 8001 lauscht nicht auf dem VServer, denn dort ist auch kein Seafile installiert.

    Ich möchte lediglich über die IP des VServers auf meinen Seafile-Server zugreifen. Dies sollte laut Webrecherche per Reverse Tunnel machbar sein. Jedoch wird kein Port an den VServer weitergeleitet.

    Kann das auch an dem VServer liegen?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!