Auf FTP-Server via SSH-Tunnel zugreifen (putty und SmartFTP)

Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Auf FTP-Server via SSH-Tunnel zugreifen (putty und SmartFTP)

    Ich möchte von meinem lokalen Windows-System aus auf einen Backup-FTP-Server meines Providers zugreifen, der zu meinem Rootserver gehört. Da ein Zugriff von außerhalb des Provider-Rechenzentrums leider unterbunden wird, habe ich bisher immer erfolgreich einen SSH-Tunnel via putty benutzt (über Jahre). Also: FTP-Software=>putty=>Rootserver=>FTP-Server.

    Das funktioniert neuerdings nicht mehr. Ich will zwar nicht aussschließen, dass im Moment irgendwas mit dem FTP-Server nicht stimmt, aber evtl. liegt es auch an der neuen Version meines FTP-Programms (SmartFTP). Generell die Frage an die, die sowas machen oder schon mal gemacht haben: Sollte folgende Konfiguration im Prinzip funktionieren?

    In putty habe ich in den Einstellungen unter Connection - SSH - Tunnel einen Eintrag angelegt: Port 21 / Dynamic (statt Local oder Remote) / Auto (statt IPv4 bzw. IPv6). In SmartFTP habe ich unter "Proxy" den Eintrag "SOCKS5" / "localhost" / "21" gemacht.

    Ich erhalte diesen Log von SmartFTP:

    Quellcode

    1. 2018-11-24T16:11:50Z Ermittle IP zu Hostnamen backupftp.kundencontroller.de
    2. 2018-11-24T16:11:50Z Proxy: Hostnamen localhost ermitteln.
    3. 2018-11-24T16:11:50Z Verbindung mit [2a02:180:ffff:1::551f:b9e] Port: 21
    4. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    5. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    6. 2018-11-24T16:11:50Z Proxy: Anfrage fehlgeschlagen. SOCKS5: Adresstyp wird nicht unterstützt
    7. 2018-11-24T16:11:50Z Proxy: Hostnamen localhost ermitteln.
    8. 2018-11-24T16:11:50Z Verbindung mit [2a02:180:ffff:1::551f:b91b] Port: 21
    9. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    10. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    11. 2018-11-24T16:11:50Z Proxy: Anfrage fehlgeschlagen. SOCKS5: Adresstyp wird nicht unterstützt
    12. 2018-11-24T16:11:50Z Proxy: Hostnamen localhost ermitteln.
    13. 2018-11-24T16:11:50Z Verbindung mit [2a02:180:ffff:1::551f:b912] Port: 21
    14. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    15. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    16. 2018-11-24T16:11:50Z Proxy: Anfrage fehlgeschlagen. SOCKS5: Adresstyp wird nicht unterstützt
    17. 2018-11-24T16:11:50Z Proxy: Hostnamen localhost ermitteln.
    18. 2018-11-24T16:11:50Z Verbindung mit [2a02:180:ffff:1::551f:b96] Port: 21
    19. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    20. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    21. 2018-11-24T16:11:50Z Proxy: Anfrage fehlgeschlagen. SOCKS5: Adresstyp wird nicht unterstützt
    22. 2018-11-24T16:11:50Z Proxy: Hostnamen localhost ermitteln.
    23. 2018-11-24T16:11:50Z Verbindung mit [2a02:180:ffff:1::551f:b91c] Port: 21
    24. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    25. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    26. 2018-11-24T16:11:50Z Proxy: Anfrage fehlgeschlagen. SOCKS5: Adresstyp wird nicht unterstützt
    27. 2018-11-24T16:11:50Z Proxy: Hostnamen localhost ermitteln.
    28. 2018-11-24T16:11:50Z Verbindung mit 85.31.185.27 Port: 21
    29. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    30. 2018-11-24T16:11:50Z Proxy: Verbinde zu SOCKS5 Proxyserver localhost Port: 21
    31. 2018-11-24T16:11:50Z Proxy: Verbunden mit Proxyserver. Sende Verbindungsanfrage.
    32. 2018-11-24T16:11:50Z Verbunden mit backupftp.kundencontroller.de.
    33. 2018-11-24T16:11:50Z 220 backupftp1 FTP-BackupServer #4
    34. 2018-11-24T16:11:50Z AUTH TLS
    35. 2018-11-24T16:11:50Z 234 AUTH TLS successful

    Am Ende sieht es so aus, als würde es klappen, tut es aber nicht.

    Irgendwelche Ideen?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    hä? hab ich das Problem jetzt falsch verstanden?
    Du hast einen Backup-FTP Server. Allerdings hast du nur Zugriff auf diesen FTP wenn du in gleichem Netzwerk bist? Soweit macht das Sinn und kenne cih auch (fast nur) so als Backup.
    Was du aber versucht, verstehe ich nicht.
    Du müsstest dich doch erstmal mit einem VPN oder vergleichbares in das Netzwerk von deinem Provider anmelden? Wenn du vorher eine VPN Verbindung und/oder ein SSH Tunnel mit Putty aufgebaut hast, dann bist du doch in deren Netzwerk...
    Du hast warscheinlich mit deinem Putty den Port weitergeleitet. Kontrolliere mal ob ein anderes Programm den Port schon verwendet? Verwende doch einfach ein anderen Port?
    Wir machen das bei uns auch öfters. Wir loggen uns mit SSH und Portweiterleitung auf ein anderen Rechner ein und können so auf die Webanwendung drauf die nich im Internet erreichbar ist.
    ssh-tunnel.de/ssh-port-forward…oniert-portweiterleitung/



    Deine Aktion mit dem Proxy verstehe ich nicht? Ein Proxy is doch etwas ganz anderes als ein VPN?

    MVN050 schrieb:

    Allerdings hast du nur Zugriff auf diesen FTP wenn du in gleichem Netzwerk bist?

    Richtig.

    MVN050 schrieb:

    Wenn du vorher eine VPN Verbindung und/oder ein SSH Tunnel mit Putty aufgebaut hast, dann bist du doch in deren Netzwerk...

    Auch richtig. Ich bin mit putty via SSH auf meinem Server.

    MVN050 schrieb:

    Verwende doch einfach ein anderen Port?

    Werde ich testen. Ich ging allerdings davon aus, dass es der gleiche sein muss wie beim FTP-Server.

    MVN050 schrieb:

    Deine Aktion mit dem Proxy verstehe ich nicht? Ein Proxy is doch etwas ganz anderes als ein VPN?

    Irgendwie muss ich doch dem FTP-Programm sagen, dass er die Verbindung über die aktive SSH-Verbindung aufbauen soll. Mein FTP-Programm sagt dazu "Proxy".

    EDIT: Ich habe den Port in putty auf 2121 geändert (in SmartFTP natürlich auch). Leider das gleiche Ergebnis. Früher hat es aber auch immer mit 21 geklappt.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Irgendwie muss ich doch dem FTP-Programm sagen, dass er die Verbindung über die aktive SSH-Verbindung aufbauen soll. Mein FTP-Programm sagt dazu "Proxy".

    Eigentlich nicht. Wenn du mit Putty eine Portweiterleitung machst, wird dieser Port Systemweit weitergeleitet. Dazu brauchst du kein Proxy.
    Bedeutet:
    Wenn du den Port 8081 auf "rootserver:80" weiterleiten würdest, müsstest du in deinem Browser (auf deinem privat Rechner) als URL nur "localhost:8081" eingeben und du würdest die Website von deinem Rootserver sehen. Genauso kannst du auch eine andere Adresse, auf die nur dein Rootserver Zugriff hat (also den FTP Server) zugreifen. Du schleifst also den Port Systemweit durch. Also kannst du den Port 8081 Systemweit auf "Rootserver > anderer Server im gleichen Netzwerk vom Rootserver > Port 21" weiterleiten lassen.

    welchen Befehl in Putty machst du den genau?

    MVN050 schrieb:

    welchen Befehl in Putty machst du den genau?

    Was verstehst du unter "Befehl"? Ich habe in den Programmen folgende Einstellung gemacht, die bis vor einigen Wochen funktioniert hat:





    Es kann sein, dass gar nicht putty das Problem ist, sondern das FTP-Programm. Denn das musste ich leider zwangsläufig auf eine deutlich neuere Version aktualisieren.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Wenn du in Putty ein Tunnel ohne Destination konfigurierst solltest du in SmartFTP "localhost:<port>" als SOCKS Proxy eintragen, dafür empfehle ich einen anderen Port als 21 zu benutzten und du solltest passives FTP einsetzten.

    Versuch mal folgendes:
    Putty
    Source port: 8888
    Destination: leer
    Dynamic & Auto

    SmartFTP
    Proxy
    Typ: Socks 5
    Host: localhost
    Port: 8888

    Connection
    Host: backupftp.kundencontroller.de
    Port: 21
    Typ: Passiv (Tools -> Settings -> Connection -> Data Connection Mode: Passiv)

    @MVN050 Es gibt verschiedene Arten einen Tunnel in Putty zu konfigurieren, deine Erklärung trifft nur zu wenn du eine Destination konfigurierst.
    In dem Fall hättest du recht und Marcus müsste den Proxy entfernen und als Host "localhost" aufwählen.
    Genau die gleiche Konfiguration nutze ich bei meinem Backup-Space der auch nur über das Netz des Anbieters verfügbar ist.
    Bei Filezilla geht man dafür folgenden weg:

    Bearbeiten -> Einstellungen -> Generischer Proxy :

    Typ: Socks5
    Server: localhost
    Port: 8888 (wenn wir nun @slice seine zahlen nehmen)

    Dann würde jede Verbindung direkt über diesen Proxy/Tunnel laufen. Im Servermanager, das Symbol unter "Datei",
    kann man für jeden gespeicherten Server noch "Proxy umgehen" anklicken wenn dieser den nicht nutzen soll.

    PuttyConfig(meine):


    Und die FileZilla Config:
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Erst mal vielen Dank an euch für die Hilfe. Leider klappt es noch nicht.

    Ich habe es zunächst einmal wieder mit SmartFTP getestet. Im Prinzip war es schon wie von @slice beschtrieben. Ich habe aber nun den Port geändert und den Passiv-Modus eingeschaltet. Leider das gleiche Ergebnis. Dann habe ich alles explizit auf IPv4 gestellt, auch genau das gleiche Ergebnis.

    Dann habe ich es mit FileZilla probiert. Im Prinzip ist das von @xChRoNiKx beschriebene 1:1 wie in SmartFTP. In FZ wird dann auch tatsächlich eine Verbindung aufgebaut, allerdings gibt es folgende Fehlermeldung nach dem Aufbau (demnach geht es eigentlich nicht): Fehler: Verzeichnisinhalt konnte nicht empfangen werden

    Ich meine mich erinnern zu können, dass ich diese Fehlermeldung bei allen meinen FTP-Zugängen hatte und daher FileZilla wieder gelöscht habe und bei meinem Lieblingsprogramm SmartFTP geblieben bin.

    Übrigens ist es für mich äußerst ungünstig, dass der Proxy nicht pro Server, sondern nur global eingetragen werden kann (also in FileZilla). Somit wäre FileZilla auf keinen Fall eine Universallösung und damit Ersatz für SmartFTP.

    Wie auch immer, es klappt so oder so nicht. Weitere Ideen?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Heyho,

    also in FileZilla kannst du den Proxy dann pro Server im Server Manager ausschalten.
    siehe:


    Zu dem Fehler: Hat sich deine Konfiguration oder sowas auf dem Server geändert?

    Hast du das Problem nur von zuhause aus? Hat sich irgendwas an deiner Konfiguration vom Internet Provider her geändert?
    Ein Kollege hatte sowas nämlich mal als er einen IPv6 Anschluss bekommen hat und IPv4 nur noch über DS-Lite ging.

    Hast du die Möglichkeit das ganze von einem anderen Anschluss aus zu testen? Besteht das Problem auch mit anderen FTP-Servern?
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Ich habe so ca. 10 FTP-Zugänge auf meinem Server, einer davon ist FTP via SSH (also direkt, keine Proxylösung). Alle diese Zugänge funktionierten mit der alten Version von SmartFTP und funktionieren immer noch, alles ohne Probleme.

    Es geht also lediglich der Backup-FTP-Server nicht. Ob sich bei dem irgendwas geändert hat, weiß ich nicht, müsste ich meinen Provider mal fragen. Ich schätze aber, dass dann mehr Leute das Problem hätten oder es irgendwo eine Info dazu gäbe. Schließlich greifen da vmtl. hunderte User drauf zu.

    Mein nächtliches Backup läuft noch, also der Server scheint da zu sein. ;)

    Ich habe es bisher nur von zu Hause aus getestet. Telekomanschluss mit IPv4 und IPv6. An dem hat sich seit vielen Monaten nichts geändert.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Gehen wir mal vom dümmsten Problem aus:

    Hat der FTP-User noch genügend Rechte um die Verzeichnisse zu sehen?
    Dein Backup läuft wahrscheinlich per SSH von Root nach BackupStorage richtig?

    Kannst du mal versuchen per SSH Console von deinem Root Server aus mit dem FTP Server zu verbinden?
    Also:

    Quellcode

    1. ftp deinbackupftp.domain.de

    Dann wirst du nach User+Passwort gefragt.
    und falls du connected bist einfach mal ein
    ls
    raushauen. Wenn du dann alles siehst was du sehen sollst liegt es wohl irgendwo Zwischen dir dem Tunnel und dem Endergebnis.
    Rauskommen tust du mit "bye".

    Solltest du dort auch wieder nichts sehen können ist da wohl irgendwas mit den Rechten nicht in Ordnung vermute ich jetzt mal.

    Falls der FTP Command nicht gefunden wird den kannst du zu mindest auf Debian per:

    Quellcode

    1. apt-get install ftp

    holen.

    Sieht bei mir dann in der Console so aus:
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xChRoNiKx“ ()

    xChRoNiKx schrieb:

    Dein Backup läuft wahrscheinlich per SSH von Root nach BackupStorage richtig?

    Korrekt.

    xChRoNiKx schrieb:

    Kannst du mal versuchen per SSH Console von deinem Root Server aus mit dem FTP Server zu verbinden?

    Soeben gemacht. Ein ls nach dem Verbinden erzeugt 200 EPRT command successful und danach passiert nichts mehr. Gebe ich aber vorher (also als erstes nach dem Login) passive ein, um in den Passivmodus zu wechseln, so erhalte ich bei einem ls alle Ordner. Ich kann diese Ordner auch betreten und dort ein ls machen, um alle Dateien aufgelistet zu bekommen.

    Also von meinem Server aus funktioniert der Backup-FTP tadellos. Nur mit dem Tunnel nicht.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Hmm ok.

    Du hast also definitiv bei SmartFTP und bei FileZilla den Passive Mode angeklickt ja?
    Ansonsten fällt mir da jetzt nicht mehr soviel ein woran das noch liegen könnte.

    Es muss ja etwas mit deinem Tunnel zu tun haben. Ich bin ratlos nu.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    xChRoNiKx schrieb:

    Du hast also definitiv bei SmartFTP und bei FileZilla den Passive Mode angeklickt ja?


    Ja, siehe Bilder:





    Ich könnte mir vorstellen, dass beide Programme auf denselben Fehler stoßen. Nur gibt mir Filezilla die Meldung Fehler: Verzeichnisinhalt konnte nicht empfangen werden aus und SmartFTP einfach gar nichts.

    Bin für jeden weiteren Tipp dankbar.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Ok.

    Hat sich etwas auf dem RootServer geändert? Evtl. irgendwelche Firewall Einstellungen?
    Kommst du an Logs vom BackupFTP? (eher unwahrscheinlich da direkt von deinem Hoster wa?)

    Wären jetzt meine letzten Vermutungen. Ansonsten hilft nur noch jemand mit na guten Idee oder mal den
    deinen Hoster anzuschreiben und nachzufragen evtl. haben die ja ne Idee.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    xChRoNiKx schrieb:

    Hat sich etwas auf dem RootServer geändert? Evtl. irgendwelche Firewall Einstellungen?

    Firewalleinstellungen auf keinen Fall. Ansonsten gab es sicher das eine oder andere Update der einen oder anderen Komponente. Aber ich weiß es nicht im Detail.

    xChRoNiKx schrieb:

    Kommst du an Logs vom BackupFTP?

    Nein, keine Chance.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    @Marcus Gräfe Das ist alles sehr merkwürdig, ich mein das aktives FTP durch den Tunnel nicht funktioniert ist klar, aber passiv sollte eigentlich funktionieren.
    Alternativ, sofern dein Provider am Backup Server SFTP oder SCP anbietet, könntest du mal WinSCP ausprobieren: Tunnel Page (Advanced Site Settings dialog)