Tunelowanie połączenia FTP z domu, gdzie serwer akceptuje tylko lokalne adresy IP

10

Muszę uzyskać dostęp do serwera FTP w pracy, ale serwer akceptuje tylko lokalne adresy IP. Nie mogę uzyskać do niego dostępu z mojego komputera domowego. Udało mi się ssh w mojej maszynie Unixowej poprzez PuTTY iz tego powodu pomyślnie otwieram połączenie FTP konsoli z serwerem FTP.

Mógłbym przez to pracować, ale wolałbym nie, ponieważ jest to dla mnie bardzo kłopotliwe. Wolałbym tunelować połączenie FTP przez maszynę roboczą przez PuTTY, abym mógł użyć mojego wybranego klienta FTP, FileZilla, aby spełnić moje potrzeby FTP na serwerze. Oczywiście jest to przez port 21.

Wiem, że PuTTY jest zdolny do przekierowania portów przez ssh, po prostu nie wiem, jak go użyć.

Strona główna - & gt; Praca - & gt; Serwer.

random
źródło
Nie ma nic innego o przesyłaniu i pobieraniu przez połączenie proxy SOCKS. Różnica polega na tym, że Twoje domowe połączenie internetowe może mieć słabą wydajność przesyłania (wychodzącą) w porównaniu z wydajnością pobierania (przychodzącą). Prawdopodobnie potrzebowalibyśmy więcej dzienników, aby móc to zdiagnozować.
EightBitTony
Doszedłem do wniosku, że prawdopodobnie mam zupełnie inny problem i będę pracował nad stworzeniem nowego pytania dotyczącego tego konkretnego problemu. Dziękuję bardzo za pomoc EightBitTony!
Ben Jacobson
Może chcesz zarejestrować swoje konto błędów serwera z tymi samymi poświadczeniami, co w celu odzyskania tego pytania @ben
random

Odpowiedzi:

13

Użyj proxy SOCKS.

PuTTY window

Port źródłowy jest teraz (lokalnie) proxy SOCKS. Skonfiguruj FileZilla, aby używała go jako proxy SOCKS (patrz poniżej). To otworzy połączenie przez to do hosta, do którego ssh (twoja maszyna robocza), a następnie stamtąd się łączy, do dowolnego adresu IP, który mu podasz. Działa na wszystko z obsługą SOCKS i zawiera FTP.

Reszta konfiguracji PuTTY pozostaje taka sama - skonfiguruj porty (jak pokazano), a następnie połącz sesję PuTTY z maszyną Work poprzez SSH.

Oto, jak powinna wyglądać opcja FileZilla,

enter image description here

Gdy umieścisz cel połączenia FTP, użyj adresu IP, a nie nazwy hosta, ponieważ rozpoznawanie DNS może nadal występować lokalnie i nie chcesz tego.

Całość jest bezpieczna i niewidoczna - wygląda jak podstawowe połączenie SSH z wszystkim innym w sieci.

NB: Jeśli chcesz to zrobić z linii poleceń, możesz użyć PuTTY's plink.exe wykonać następujące czynności

plink -ssh -D 9090 [email protected]

osiąga to samo bez konieczności tworzenia profilu PuTTY lub korzystania z GUI.

EightBitTony
źródło
Podoba mi się to, że robię to trochę bardziej niż moja odpowiedź. Możesz ustawić proxy SOCKS w filezilli w obszarze „Generic Proxy” i pamiętać, aby używać go w „trybie pasywnym”.
couling
2

Po pierwsze znacznie łatwiej / prawdopodobnie lepiej używać SCP. Ponieważ masz SSH, często masz dostęp do SCP. Ale nie znam twojej sieci, więc na pytanie ...

Po pierwsze Upewnij się, że twój klient jest ustawiony na używanie FTP w trybie AKTYWNY. Chciałem zasugerować użycie trybu pasywnego, ale nie można kontrolować, które porty będą używane.

Po drugie Ogranicz liczbę portów, których klient FTP będzie używał w trybie aktywnym, aż do kilku. Mniej niż 10 byłoby dobrze. A oto dlaczego.

Po trzecie utwórz port zdalny do przodu dla wszystkich tych portów.

To powinno działać

couling
źródło
1

Oto jak przeglądać system plików wewnętrzny serwer (za NAT), z FileZilla lub z Nautilus File Manager - używając SFTP (Sesja SSH na porcie TCP 22), przez przejście serwer (poza NAT):

  1. Pierwsze uruchomienie w Terminalu:

sudo ssh -L 9090: {nazwa wewnętrznego serwera lub IP}: 22 root @ {nazwa hosta serwera bramy lub IP}

  1. Następnie utwórz nowe połączenie.

    W FileZilla:

    • Host: sftp: //127.0.0.1
    • Nazwa użytkownika / hasło: Poświadczenia konta wewnętrzny serwer.
    • Port: 9090 (ten sam port, co w poleceniu terminalu).

Albo w Nautilusie:

sftp://127.0.0.1:9090/, zostaniesz poproszony o wprowadzenie poświadczeń wewnętrznego serwera.

Teraz powinieneś móc przeglądać wewnętrzny system plików serwera.


enter image description here

Uwaga: jak widać, to nie wymaga konfiguracji SOCKS Proxy w Putty ani w FileZilla :)

Noam Manos
źródło