Cum să utilizați comanda FTP pe Linux

Protocolul de transfer al fișierelor, deși depășit de tehnologii mai noi, continuă să fie un instrument relevant. Deși FTP nu se ridică la nivelul de securitate al protocoalelor moderne, uneori utilizarea sa devine o necesitate. Iată cum să procedezi corect.

Atenție: Evită folosirea FTP pe internet

Este crucial să înțelegem de la început că Protocolul de Transfer de Fișiere (FTP), creat la începutul anilor 1970, a fost conceput fără a pune accent pe securitate. Criptarea lipsește complet în acest protocol. Credențialele de autentificare, cum ar fi numele de utilizator și parola, și toate datele transferate sunt trimise ca text simplu. Acest lucru permite oricui să intercepteze informațiile sensibile. Cu toate acestea, FTP are încă anumite utilizări.

Dacă transferi fișiere într-o rețea locală, ar trebui să fii în siguranță, presupunând că nimeni din rețea nu este implicat în interceptarea datelor. În cazul în care fișierele nu sunt confidențiale, transferul lor prin FTP în rețeaua internă este acceptabil. Linux pune la dispoziție un program de linie de comandă FTP standard pentru astfel de scenarii.

Este imperativ să nu folosești comanda ftp pentru a accesa resurse externe pe internet. În acest scop, utilizează programul sftp, care implementează protocolul de transfer securizat de fișiere SSH. Vom explora ambele programe în acest ghid.

Pentru a înțelege de ce nu ar trebui să utilizezi niciodată FTP pe internet, imaginea de mai jos ilustrează cum parola FTP este vizibilă ca text simplu. Oricine conectat la rețeaua ta sau între tine și serverul FTP poate vedea cu ușurință că parola este „MySecretPassword”.

În absența criptării, un atacator ar putea modifica fișierele pe care le trimiți sau primești în timpul transferului.

Comanda ftp

Presupunând că ai un cont valid pe un server FTP, te poți conecta folosind următoarea comandă. Înlocuiește adresa IP din comenzi cu cea a serverului FTP la care vrei să te conectezi.

ftp 192.168.4.25

Atenție: comanda ftp este recomandată doar pentru conectarea la servere din rețele locale de încredere. Folosește comanda sftp, descrisă ulterior, pentru transferul de fișiere pe internet.

Serverul FTP va răspunde cu un mesaj de bun venit, care poate varia în funcție de server. Apoi, vei fi rugat să introduci numele de utilizator al contului tău.

Observă că este afișată adresa IP a serverului la care te conectezi, urmată de numele tău de utilizator Linux. Dacă numele contului tău de pe serverul FTP este identic cu cel de utilizator Linux, apasă tasta Enter. În caz contrar, introdu numele de utilizator al contului FTP și apasă Enter.

Conectarea la serverul FTP

Următorul pas este introducerea parolei pentru serverul FTP. Parola nu va fi vizibilă pe ecran. Dacă numele de utilizator FTP și parola sunt corecte, vei fi conectat la server și vei vedea promptul ftp>.

Navigarea și descărcarea fișierelor

În mod obișnuit, prima acțiune este să listezi fișierele de pe serverul FTP cu comanda ls. Să presupunem că vezi un fișier numit gc.c și dorești să-l descarci pe computerul tău, care în limbajul FTP este denumit „calculatorul local”.

Comanda pentru descărcarea unui fișier este get. În exemplul nostru, folosim comanda get gc.c. Tastați get, un spațiu și apoi numele fișierului dorit.

Serverul FTP va trimite fișierul către calculatorul local, confirmând finalizarea transferului. Se afișează și dimensiunea fișierului și timpul de transfer.

ls
get gc.c

Pentru descărcarea mai multor fișiere simultan, se folosește comanda mget (multiple get). Această comandă solicită confirmarea descărcării fiecărui fișier în parte. Răspunde cu „y” pentru a confirma sau cu „n” pentru a anula.

Descărcarea individuală a unui număr mare de fișiere poate deveni anevoioasă. Din acest motiv, colecțiile de fișiere sunt adesea comprimate în arhive de tip tar.gz sau tar.bz2 pe serverele FTP.

mget *.c

Încărcarea fișierelor pe serverul FTP

Dacă permisiunile contului tău FTP permit acest lucru, poți încărca fișiere pe server utilizând comanda put. În exemplul nostru, vom încărca un fișier numit Songs.tar.gz pe server.

put Songs.tar.gz

După cum te-ai aștepta, există o comandă pentru încărcarea mai multor fișiere simultan, numită mput (multiple put). Această comandă solicită confirmarea individuală pentru fiecare fișier, similar cu mget.

Aceeași logică privind arhivarea seturilor de fișiere în format tar se aplică și în cazul încărcării, nu doar în cazul descărcării. Să presupunem că utilizatorul nostru dorește să încarce mai multe fișiere „.odt”:

mput *.odt

Crearea și navigarea directoarelor

În cazul în care contul de utilizator pe serverul FTP permite, poți crea directoare cu comanda mkdir. Trebuie reținut că orice director creat cu mkdir este creat pe serverul FTP, nu pe computerul local.

Pentru a schimba directorul pe serverul FTP, utilizează comanda cd. Promptul ftp> nu se va schimba pentru a reflecta noul director curent. Comanda pwd (print working directory) afișează directorul curent.

În exemplul următor, creăm un director numit music, intrăm în acesta, verificăm poziția cu pwd, apoi încărcăm un fișier în noul director.

mkdir music
cd music
pwd
put songs.tar.gz

Pentru a reveni rapid la directorul părinte, folosește comanda cdup.

cdup

Accesarea computerului local

Pentru a schimba directorul pe computerul local, poți utiliza comanda lcd în promptul ftp>. Este posibil să pierzi ușor evidența poziției în sistemul de fișiere local. O metodă mai comodă este utilizarea comenzii ! .

Comanda ! deschide o fereastră shell către computerul local. Poți executa orice comandă în această fereastră terminal. Pentru a reveni la promptul ftp>, tastează exit.

În exemplul nostru, folosim comanda !, executăm o comandă ls pentru a vedea ce fișiere sunt prezente în acel director, apoi folosim exit pentru a reveni la promptul ftp>.

!
ls
exit

Redenumirea fișierelor

Pentru a redenumi fișiere pe serverul FTP, folosește comanda rename. Vom redenumi un fișier și vom lista fișierele pentru a verifica modificarea.

rename songs.tar.gz rock_songs.tar.gz
ls

Ștergerea fișierelor

Comanda delete este folosită pentru ștergerea fișierelor de pe serverul FTP. Pentru ștergerea mai multor fișiere simultan, folosește mdelete. Ți se va cere să confirmi ștergerea fiecărui fișier cu „y” sau „n”.

În exemplul nostru, listăm fișierele, alegem unul pentru ștergere, apoi le ștergem pe toate cele care se termină în „.o”.

ls
delete gc.o
mdelete *.o

Folosirea comenzii sftp

Utilizatorii familiarizați cu adresele IP vor fi observat că adresa 192.168 utilizată în exemplele anterioare este o adresă IP internă sau privată. Comanda ftp este destinată exclusiv rețelelor interne, conform avertismentului de la începutul articolului.

Pentru conectarea la un server FTP public, trebuie să folosești comanda sftp. În exemplul nostru, ne vom conecta la un cont SFTP numit demo pe serverul accesibil public test.trebex.net.

După conectare, vei primi confirmarea conexiunii și un avertisment că autenticitatea serverului nu a fost verificată. Acest lucru este normal la prima conexiune. Pentru a continua, apasă „y”.

Deoarece numele contului de utilizator a fost deja specificat în comandă, nu mai este necesară introducerea acestuia. Singura solicitare este introducerea parolei. După introducerea și validarea acesteia, vei vedea promptul sftp>.

sftp [email protected]

Comenzile FTP prezentate mai sus funcționează la fel și într-o sesiune SFTP, cu următoarele excepții:

Pentru ștergerea unui fișier, folosește rm (FTP folosește delete)
Pentru ștergerea mai multor fișiere, folosește rm (FTP folosește mdelete)
Pentru a te deplasa la directorul părinte, utilizează cd .. (FTP folosește cdup)

În sesiunea SFTP exemplificată, utilizăm ls pentru listarea fișierelor, cd pentru navigarea la directorul pub și pwd pentru afișarea directorului curent.

Există și alte opțiuni pentru transferul fișierelor în Linux, cum ar fi scp (copie securizată), dar ne-am concentrat pe FTP și SFTP. Utilizate corect, aceste două comenzi sunt instrumente utile pentru gestionarea fișierelor.