ubuntuusers.de

FTP client via SSH SOCKS proxy - Login okay aber kein Transfer

Status: Ungelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

wittich

Avatar von wittich

Anmeldungsdatum:
24. November 2006

Beiträge: 136

Wohnort: Frankfurt a.M. 50° 7' 56" N 8° 41' 42" E

Hallo zusammen,

ich versuche über eine SOCKS proxy eine Verbindung zu einem Server aufzubauen, da dieser eine IP-Speere eingebaut hat und nur meine Proxy-IP am FTP-Port durchlässt. Den SSH proxy Verbindung baue ich wie folge auf:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# SSH SOCKS proxy Verbindung
user@local_pc:~$ssh -p 12345 -D 23456 meinserver.net

# Test ob ftp Verbindung prinzipiell möglich
user@proxy_pc:~$ ftp 123.123.123.123
Connected to 123.123.123.123.
220 (vsFTPd 2.3.2)
Name (123.123.123.123:user): ftp-user
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
# Ausgabe der Dateien und Ordner
226 Directory send OK.
ftp> quit
221 Goodbye.

Soweit so gut, jetzt soll aber der FTP Zugriff auf über ein FTP-Client vom local_pc funktionieren. Ich habe es sowohl mit FireFTP als auch mit FileZilla probiert, ohne Erfolg. Dabei bekomme folgende Ausgabe in FileZilla:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# zuvor in Einstellung "Generic proxy# auf SOCKS 5 und host=localhost port=23456
Status:	Connecting to 123.123.123.123 through proxy
Status:	Resolving address of localhost
Status:	Connecting to 127.0.0.1:23456...
Status:	Connection with proxy established, performing handshake...
Status:	Connection established, waiting for welcome message...
Response:	220 (vsFTPd 2.3.2)
Command:	USER ftp-user
Response:	331 Please specify the password.
Command:	PASS **********
Response:	230 Login successful.
Command:	SYST
Response:	215 UNIX Type: L8
Command:	FEAT
Response:	211-Features:
Response:	 EPRT
Response:	 EPSV
Response:	 MDTM
Response:	 PASV
Response:	 REST STREAM
Response:	 SIZE
Response:	 TVFS
Response:	 UTF8
Response:	211 End
Command:	OPTS UTF8 ON
Response:	200 Always in UTF8 mode.
Status:	Connected
Status:	Retrieving directory listing...
Command:	PWD
Response:	257 "/"
Command:	TYPE I
Response:	200 Switching to Binary mode.
Command:	PASV
Response:	227 Entering Passive Mode (123,123,123,123,199,127).
Command:	LIST
Status:	Connecting to 127.0.0.1:23456...
Status:	Connection with proxy established, performing handshake...
Error:	Connection timed out
Error:	Failed to retrieve directory listing

Gleiches Ergebnis bekomme ich mit FireFTP beim Kommando LIST -al reagiert die Verbindung nicht mehr... soweit ich das bisher durchschaue muss die Lösung irgendwie mit den Ports die das FTP-Protokoll verwendet zusammenhängen. Ich bin aber noch nicht dahinter gekommen.

Hoffe ihr habt Rat für mich!

Gruß Valentin

PS: Im Terminal in dem ich die SSH-Verbindung aufgebaut habe bekomme ich im Moment des Timeouts folgende Meldung:

channel 4: open failed: connect failed: Connection timed out

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

Poste mal auch die anonymisierte vsftpd.conf und die anonymisierten Ausgaben von "sudo lsof -nPi", vom Server und vom Client-PC, im Moment des Timeouts.

wittich

(Themenstarter)
Avatar von wittich

Anmeldungsdatum:
24. November 2006

Beiträge: 136

Wohnort: Frankfurt a.M. 50° 7' 56" N 8° 41' 42" E

Hi mickydoutza danke für die Antwort, hier die Daten! Allerdings habe ich auf die Konfiguration des FTP-Server keinen Zugriff.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# Ausgabe des proxy_pc's
root@proxy_pc:/# lsof -nPi | grep -i sshd
COMMAND     PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd       1608        root    3u  IPv4   5713      0t0  TCP *:12345 (LISTEN)
sshd       1608        root    4u  IPv6   5715      0t0  TCP *:12345 (LISTEN)
sshd      28282        root    3r  IPv4 569051      0t0  TCP 240.240.240.240:12345->190.186.102.50:44643 (ESTABLISHED)
sshd      28285        user    3u  IPv4 569051      0t0  TCP 240.240.240.240:12345->190.186.102.50:44643 (ESTABLISHED)
sshd      28285        user    9u  IPv4 571023      0t0  TCP 240.240.240.240:41965->123.123.123.123:21 (ESTABLISHED)
sshd      28285        user   12u  IPv4 571025      0t0  TCP 240.240.240.240:40950->123.123.123.123:20778 (SYN_SENT)
root@proxy_pc:/# channel 4: open failed: connect failed: Connection timed out

# Ausgabe am client-pc
user@local_pc:~$ sudo lsof -nPi | grep -E 'sshd|filezilla'
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ssh        2586  wittich    3r  IPv4 552085      0t0  TCP 192.168.1.4:44643->240.240.240.240:12345 (ESTABLISHED)
ssh        2586  wittich    4u  IPv6 550644      0t0  TCP [::1]:23456 (LISTEN)
ssh        2586  wittich    5u  IPv4 550645      0t0  TCP 127.0.0.1:23456 (LISTEN)
ssh        2586  wittich    9u  IPv4 552396      0t0  TCP 127.0.0.1:23456->127.0.0.1:46180 (ESTABLISHED)
ssh        2586  wittich   10u  IPv4 559468      0t0  TCP 127.0.0.1:23456->127.0.0.1:46181 (ESTABLISHED)
filezilla  2721  wittich   21r  IPv4 552395      0t0  TCP 127.0.0.1:46180->127.0.0.1:23456 (ESTABLISHED)
filezilla  2721  wittich   23u  IPv4 552409      0t0  TCP 127.0.0.1:46181->127.0.0.1:23456 (ESTABLISHED)

Gruß Valentin

wittich

(Themenstarter)
Avatar von wittich

Anmeldungsdatum:
24. November 2006

Beiträge: 136

Wohnort: Frankfurt a.M. 50° 7' 56" N 8° 41' 42" E

Okay, ich bin der Sache jetzt auf der Spur. Hab den Admin des FTP-Server kontaktiert woraufhin zusätzlich der Port 20 freigeschaltet wurde. Nun klappt die Verbindung im active Mode über die Linux Konsole auch mit Upload/Download von Dateien.

Allerdings tritt bei Desktop-Client-Software das Problem auf, dass diese auf das Signal vom FTP-Server hört und in den Passive Mode zu wechseln. Ich habe es bisher noch nicht geschafft FileZille und Konsortien das abzugewöhnen. Selbst wenn alle Einstellungen auf active Mode sind sieht man in der Konsole folgende Ausgabe:

Command:	PASV 
Response:	227 Entering Passive Mode (123,123,123,123,161,136).

Ich kann mir das nur so erklären, dass der FTP-Server seine Feature-List rübersendet und darauf hin von FileZille reagiert wird.

Command:	FEAT 
Response:	211-Features:
Response:	 EPRT
Response:	 EPSV
Response:	 MDTM
Response:	 PASV
Response:	 REST STREAM
Response:	 SIZE
Response:	 TVFS
Response:	 UTF8
Response:	211 End

Soweit der Stand der Dinge.

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

wittich schrieb:

Ich kann mir das nur so erklären, dass der FTP-Server seine Feature-List rübersendet und darauf hin von FileZille reagiert wird.

Man kann den Server auch entsprechend konfigurieren:

pasv_enable
    Set to NO if you want to disallow the PASV method of obtaining a data connection.

    Default: YES 

Es sollte mit PASV und Filezilla auch funktionieren. Evtl. so konfigurieren:

pasv_promiscuous
    Set to YES if you want to disable the PASV security check that ensures the data connection originates from the same IP address as the control connection. Only enable if you know what you are doing! The only legitimate use for this is in some form of secure tunnelling scheme, or perhaps to facilitate FXP support.

    Default: NO 

wittich

(Themenstarter)
Avatar von wittich

Anmeldungsdatum:
24. November 2006

Beiträge: 136

Wohnort: Frankfurt a.M. 50° 7' 56" N 8° 41' 42" E

Hmmm, hab jetzt mit dem Admin des FTP-Server Rücksprache gehalten und er kann nicht die Servereinstellungen verändern. Hat mir aber versichert, dass alle nötigen Ports offen sind.

Das Problem muss also auf meine Seite liegen. Kann es sein, dass mein Proxy-Server den notwendigen Portbereich blockiert? Ich habe zwar selbst ein FTP-Server am laufen, an sich ist aber der Server nicht als FTP-Client konfiguriert. Wie kann ich sichergehen, dass die notwendigen Rechte bzw. Ports gegeben/offen sind?

mickydoutza

Avatar von mickydoutza

Anmeldungsdatum:
31. Dezember 2010

Beiträge: 2185

wittich schrieb:

Ich habe zwar selbst ein FTP-Server am laufen, an sich ist aber der Server nicht als FTP-Client konfiguriert.

Kann man einen FTP-Server, als FTP-Client konfigurieren?

wittich

(Themenstarter)
Avatar von wittich

Anmeldungsdatum:
24. November 2006

Beiträge: 136

Wohnort: Frankfurt a.M. 50° 7' 56" N 8° 41' 42" E

mickydoutza schrieb:

Kann man einen FTP-Server, als FTP-Client konfigurieren?

Wohl eher nicht, aber man kann einen Server als FTP-Client verwenden. Bin jetzt auf die Idee gekommen mal einen anderen FTP-Server anzusteuern und hatte dabei kein Problem den passive Modus beliebig zu aktivieren und deaktivieren. Vermute also das da immer noch etwas von den Sicherheitseinstellungen des besagten FTP-Server nicht so richtig will bzw. die entsprechenden Ports eben doch nicht den notwendigen Datenverkehr durchlassen.

Allerdings habe ich mittlerweile per SSH Zugriff auf den besagten Server bekommen und nun mittels Tunnel eine FTP-Verbindung im passive Mode herstellen können. Insofern hat sich das Problem erst ein Mal erledigt. Falls sich noch der Grund für das Problem herausstellt werde ich berichten.

Vielen Danke für den Support @mickydoutza.

Antworten |