Il File Transfer Protocol è più vecchio della maggior parte dei nostri lettori, ma sta ancora andando forte. FTP non ha la sicurezza di un protocollo moderno, ma potrebbe essere necessario utilizzarlo comunque. Ecco come farlo.
Avviso: non utilizzare FTP su Internet
Chiariamo questo punto fin dall'inizio: il File Transfer Protocol (FTP) risale ai primi anni '70 ed è stato scritto senza alcun riguardo per la sicurezza. Non utilizza la crittografia per nulla. Le credenziali di accesso come nome utente e password, nonché i dati scaricati o caricati, vengono trasferiti in chiaro. Chiunque lungo la strada può visualizzare i tuoi segreti. Tuttavia, FTP ha ancora i suoi usi.
Se trasferisci file all'interno della tua rete, dovresti essere al sicuro, a patto che nessuno sulla rete stia intercettando pacchetti e intercettando documenti sensibili mentre li trasferisci. Se i tuoi file non sono riservati o sensibili in alcun modo, spostarli nella tua rete interna con FTP dovrebbe andare bene. Linux ha lo standard
ftp
programma a riga di comando
per affrontare proprio quello scenario.
Ma
decisamente
non utilizzare il
ftp
comando per accedere a risorse esterne su Internet. Per questo, usa il
sftp
programma a riga di comando
, che utilizza il protocollo di trasferimento file SSH sicuro. Presenteremo entrambi questi programmi in questo tutorial.
Per chiarire il motivo per cui non vuoi mai utilizzare FTP su Internet, dai un'occhiata allo screenshot qui sotto. Mostra la password FTP in chiaro. Chiunque sulla tua rete o tra te e il server FTP su Internet può vedere facilmente che la password è "MySecretPassword".
Senza la crittografia, anche un malintenzionato potrebbe modificare i file che stai scaricando o caricando in transito.
Il comando ftp
Supponendo che tu abbia un account valido su un sito FTP, puoi connetterti ad esso con il seguente comando. In questo articolo, sostituisci l'indirizzo IP nei comandi con l'indirizzo IP del server FTP a cui ti stai connettendo.
ftp 192.168.4.25
avvertimento
: Dovresti usare solo il file
ftp
comando per connettersi ai server su una rete locale affidabile. Usa il
sftp
comando, trattato di seguito, per il trasferimento di file su Internet.
Il server FTP risponde con un messaggio di benvenuto. La formulazione del messaggio di saluto varia da server a server. Quindi chiede il nome utente dell'account a cui stai effettuando l'accesso.
Tieni presente che viene visualizzato l'indirizzo IP del sito a cui ti stai collegando, seguito dal tuo nome utente Linux. Se il nome del tuo account sul server FTP è lo stesso del tuo nome utente Linux, premi semplicemente il tasto Invio. Questo userà il tuo nome utente Linux come nome account sul server FTP. Se il nome utente di Linux e il nome dell'account FTP sono diversi, digitare il nome utente dell'account FTP e quindi premere Invio.
Accesso al server FTP
Ti verrà chiesto di inserire la tua password per il sito FTP. Immettere la password e premere Invio. La tua password non viene visualizzata sullo schermo. Se la combinazione di nome account utente e password FTP viene verificata dal server FTP, si accede al server FTP.
Ti verrà presentato il file
ftp>
richiesta.
Guardarsi intorno e recuperare i file
Innanzitutto, probabilmente vorrai ottenere un elenco dei file sul server FTP. Il
ls
comando fa proprio questo. Il nostro utente vede il file
gc.c
si trova sul server FTP e desidera scaricarlo sul proprio computer. Il suo computer è il "computer locale" nel gergo FTP.
Il comando per recuperare (o "ottenere") un file è
ottenere
. Il nostro utente, quindi, emette il comando
ottenere gc.c
. Scrivono
ottenere
, uno spazio e quindi il nome del file che desiderano recuperare.
Il server FTP risponde trasferendo il file sul computer locale e confermando che il trasferimento è avvenuto. Vengono visualizzate anche le dimensioni del file e il tempo impiegato per il trasferimento.
ls
ottenere gc.c
Per recuperare più file contemporaneamente, utilizzare il
mget
comando (get multiplo). Il
mget
ti chiederà di confermare se desideri scaricare ogni file a turno. Rispondi premendo "y" per sì e "n" per no.
Questo sarebbe noioso per un gran numero di file. Per questo motivo, le raccolte di file correlati vengono solitamente archiviate su siti ftp come singoli file tar.gz o tar.bz2 .
RELAZIONATO: Come estrarre file da un file .tar.gz o .tar.bz2 su Linux
mget * .c
Caricamento di file sul server FTP
A seconda delle autorizzazioni che sono state concesse al tuo account FTP potresti essere in grado di caricare (o "mettere") file sul server. Per caricare un file, utilizza il
mettere
comando. Nel nostro esempio, l'utente sta caricando un file chiamato
Sans.tar.gaj
al server FTP.
mettere Songs.tar.gz
Come probabilmente ti aspetti, c'è un comando per mettere più file contemporaneamente sul server FTP. È chiamato
mput
(put multiplo). Proprio come il
mget
comando ha fatto,
mput
chiederà una conferma "y" o "n" per il caricamento di ogni file, uno per uno.
Lo stesso argomento per mettere set di file negli archivi tar si applica per mettere i file come per ottenere i file. Il nostro utente sta caricando più file ".odt" con il seguente comando:
mput * .odt
Creazione e modifica di directory
Se il tuo account utente sul server ftp lo consente, potresti essere in grado di creare directory. Il comando per farlo è
mkdir
. Per essere chiari, qualsiasi directory creata con l'estensione
mkdir
verrà creato sul server ftp e non sul computer locale.
Per cambiare directory sul server ftp, utilizzare il
cd
comando. Quando usi l'estensione
cd
comando il
ftp>
prompt non cambierà per riflettere la nuova directory corrente. Il
pwd
Il comando (print working directory) ti mostrerà la tua directory corrente.
Il nostro utente ftp crea una directory chiamata music, cambia in quella nuova directory, conferma dove si trova usando il
pwd
quindi carica un file in quella directory.
mkdir music
cd music
pwd
put songs.tar.gz
Per spostarsi rapidamente nella directory principale della directory corrente utilizzare il
cdup
comando.
cdup
Accesso al computer locale
Per cambiare la directory sul computer locale, puoi usare il
lcd
comando presso il
ftp>
richiesta. Tuttavia, è facile perdere traccia di dove ti trovi nel filesystem locale. Un metodo più conveniente per accedere al filesystem locale consiste nell'usare l'estensione
!
comando.
Il
!
Il comando apre una finestra della shell sul computer locale. Puoi fare qualsiasi cosa in questa shell che puoi in una finestra di terminale standard. Quando digiti
Uscita
si torna al file
ftp>
richiesta.
Il nostro utente ha utilizzato il
!
ed è entrato in una finestra della shell sul computer locale. Hanno rilasciato un file
ls
comando per vedere quali file sono presenti in quella directory e quindi digitati
Uscita
per tornare al file
ftp>
richiesta.
!
ls
Uscita
Rinominare i file
Per rinominare i file sul server FTP utilizzare il
rinominare
comando. Qui il nostro utente FTP rinomina un file con
rinominare
e quindi utilizza l'estensione
ls
comando per elencare i file nella directory.
rinomina songs.tar.gz rock_songs.tar.gz
ls
Eliminazione di file
Per eliminare i file sul server FTP utilizzare il
Elimina
comando. Per eliminare più file contemporaneamente, utilizzare il
guarda a
comando. Ti verrà chiesto di fornire una conferma "y" o "n" per l'eliminazione di ogni file.
Qui il nostro utente FTP ha elencato i file per vedere i loro nomi e poi ne ha scelto uno da eliminare. Decidono quindi di eliminarli tutti.
ls
γκ.ο.
μδε diminuzione * .ο
Utilizzando il comando sftp
I lettori che hanno familiarità con il sistema di indirizzamento IP avranno notato che l'indirizzo 192.168 del server FTP utilizzato negli esempi precedenti è un indirizzo IP interno, chiamato anche indirizzo IP privato. Come abbiamo avvertito all'inizio di questo articolo, il
ftp
Il comando deve essere utilizzato solo su reti interne.
Se vuoi connetterti a un server FTP remoto o pubblico usa il
sftp
comando. Il nostro utente si collegherà a un account SFTP chiamato
demo
sul server FTP accessibile pubblicamente situato in
test.trebex.net
.
Quando si connettono, vengono informati che la connessione è stata stabilita. Si informa inoltre che l'autenticità dell'ospite non può essere verificata. Questo è normale per la prima connessione un nuovo host. Premono "y" per accettare la connessione.
Perché il nome dell'account utente (
demo
) è stato passato sulla riga di comando, non viene richiesto il nome dell'account utente. Viene richiesta solo la password. Questo viene inserito, verificato e accettato e viene presentato con il
sftp>
richiesta.
sftp [email protected]
I comandi FTP che abbiamo descritto sopra funzioneranno allo stesso modo in una sessione SFTP, con le seguenti eccezioni.
-
Per eliminare un file utilizzare
rm(FTP utilizzaElimina) -
Per eliminare più file utilizzare
rm(FTP utilizzaguarda a) -
Per passare alla directory principale, utilizzare
cd ..(FTP utilizzacdup)
Il nostro utente ha utilizzato alcuni comandi nella sua sessione SFTP. Hanno un uso
ls
per elencare i file e
cd
per passare alla directory pub. Hanno usato il
pwd
per stampare la directory di lavoro.
Ci sono altre opzioni per trasferire file nel mondo Linux, in particolare
scp
(
copia protetta
), ma qui ci siamo concentrati su FTP e SFTP. Utilizzati negli scenari applicabili, questi due comandi saranno utili a te e alle tue esigenze di archiviazione e recupero dei file.