Tunneling della connessione FTP da casa in cui il server accetta solo IP locali


11

Devo accedere a un server FTP al lavoro, ma il server accetterà solo IP locali. Non riesco ad accedervi dal mio computer di casa. Sono stato in grado di accedere alla mia macchina da lavoro Unix tramite PuTTY e da lì ho aperto con successo una connessione FTP della console al server FTP.

Potrei risolverlo, ma preferirei non farlo perché è molto ingombrante per me. Preferirei effettuare il tunneling di una connessione FTP attraverso la macchina di lavoro tramite PuTTY in modo da poter utilizzare il mio client FTP preferito, FileZilla, per soddisfare le mie esigenze FTP sul server. Naturalmente questo avviene attraverso la porta 21.

So che PuTTY è in grado di eseguire il port forwarding tramite ssh, non sono sicuro di come usarlo.

Home -> Lavoro -> Server.


Non c'è nulla di intrinsecamente diverso nel caricare e scaricare tramite una connessione proxy SOCKS. La differenza è che la tua connessione Internet domestica potrebbe avere scarse prestazioni di upload (in uscita) rispetto alle prestazioni di download (in entrata). Probabilmente avremmo bisogno di più registri per poterlo diagnosticare.
EightBitTony,

Sono giunto alla conclusione che probabilmente sto affrontando un altro problema e lavorerò per creare una nuova domanda che affronti questo problema specifico. Grazie mille per il tuo aiuto EightBitTony!
Ben Jacobson,

Potrebbe voler registrare il tuo account Server Fault con le stesse credenziali di qui per rivendicare questa domanda @ben
random

Risposte:


13

Utilizzare un proxy SOCKS.

Finestra PuTTY

La porta di origine è ora (localmente) un proxy SOCKS. Configura FileZilla per usarlo come proxy SOCKS (vedi sotto). Aprirà una connessione attraverso quella verso l'host a cui hai inviato (la tua macchina di lavoro) e poi si connetterà da lì a qualsiasi indirizzo IP che gli dai. Funziona per qualsiasi cosa con supporti SOCKS e che include FTP.

Il resto della configurazione PuTTY rimane lo stesso: configura le porte (come mostrato) e quindi collega quella sessione PuTTY alla tua macchina di lavoro tramite SSH.

Ecco come deve apparire l'opzione FileZilla,

inserisci qui la descrizione dell'immagine

Quando si inserisce la destinazione per la connessione FTP, utilizzare l'indirizzo IP non il nome host, poiché la risoluzione DNS può ancora verificarsi localmente e non si desidera.

Il tutto è sicuro e invisibile: sembra una connessione SSH di base a qualsiasi altra cosa sulla rete.

NB: Se vuoi farlo dalla riga di comando, puoi usare PuTTY plink.exeper fare quanto segue,

plink -ssh -D 9090 you@your.work.laptop.example

raggiunge la stessa cosa senza dover creare un profilo PuTTY o utilizzare la GUI.


Mi piace quel modo di farlo un po 'più della mia risposta. Puoi impostare il proxy SOCKS in filezilla in "Proxy generico" e ricordarti di usarlo in "modalità passiva".
Philip Couling,

2

Innanzitutto è molto più facile / probabilmente meglio usare SCP. Dal momento che hai SSH, sarebbe comune avere anche l'accesso a SCP. Ma non conosco la tua rete, quindi alla domanda ...

Innanzitutto, assicurati che il tuo client sia impostato per utilizzare FTP in modalità ATTIVA. Volevo suggerire di utilizzare la modalità passiva ma non puoi controllare quali porte verranno utilizzate.

In secondo luogo, limitare il numero di porte che il client FTP utilizzerà in modalità attiva fino a una manciata. Meno di 10 sarebbe buono. Ed ecco perché.

In terzo luogo, creare inoltri porte remote per tutte queste porte.

Questo dovrebbe farlo funzionare


2

Ecco come sfogliare il file system del server interno (dietro NAT), con FileZilla o con Nautilus File Manager - usando SFTP (sessione SSH sulla porta TCP 22), attraverso il server gateway (fuori NAT):

  1. Prima corsa nel terminal:

sudo ssh -L 9090: {nome host o IP del server interno: 22 root @ {nome host o IP del server gateway}

  1. Quindi creare una nuova connessione.

    In FileZilla:

    • Host: sftp: //127.0.0.1
    • Nome utente / password: le credenziali del server interno .
    • Porta: 9090 (stessa porta del comando terminale).

O in Nautilus:

sftp://127.0.0.1:9090/, ti verrà richiesto di inserire le credenziali del server interno.

Ora dovresti essere in grado di sfogliare il file system del server interno.


inserisci qui la descrizione dell'immagine

Nota: come puoi vedere, non richiede l'installazione di SOCKS Proxy in Putty né in FileZilla :)


Grazie! Questo è esattamente quello che stavo cercando!
lorenzo-s,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.