Android

Cum se utilizează comanda linux sftp pentru a transfera fișiere

Acces la server prin SSH si SCP

Acces la server prin SSH si SCP

Cuprins:

Anonim

SFTP (SSH File Transfer Protocol) este un protocol de fișier securizat utilizat pentru a accesa, gestiona și transfera fișiere printr-un transport SSH criptat.

În comparație cu protocolul FTP tradițional, SFTP oferă toate funcționalitățile FTP și este mai ușor de configurat.

Spre deosebire de scp command , care permite doar transferuri de fișiere, comanda sftp vă permite să efectuați o serie de operații pe fișierele la distanță și să reluați transferurile de fișiere.

În acest tutorial, vă vom arăta cum să utilizați comanda Linux sftp .

Înainte de a începe

Pentru a putea transfera și gestiona fișiere prin SFTP, trebuie să aveți permisiunea de scriere pe sistemul de la distanță.

Când transferați fișiere mari, este recomandat să rulați comanda sftp într-un ecran sau într-o sesiune tmux.

Directorul de unde executați comanda sftp este directorul local de lucru.

Stabilirea unei conexiuni SFTP

SFTP funcționează pe un model client-server. Este un subsistem de SSH și acceptă toate mecanismele de autentificare SSH.

Deși autentificarea tradițională a parolei este configurată în mod implicit și mai ușor de utilizat, dacă vă conectați regulat la serverul dvs. prin SSH / SFTP, este recomandat să creați chei SSH și să configurați o autentificare SFTP fără parolă.

Pentru a deschide o conexiune SFTP la un sistem de la distanță, utilizați comanda sftp urmată de numele de utilizator al serverului de la distanță și adresa IP sau numele de domeniu:

sftp remote_username@server_ip_or_hostname

Odată conectat, vi se va prezenta promptul sftp și puteți începe să interacționați cu mașina de la distanță:

Connected to remote_username@server_ip_or_hostname. sftp>

Dacă serverul SSH de la distanță nu ascultă pe portul implicit 22, utilizați opțiunea -oPort pentru a specifica portul alternativ:

sftp -oPort=custom_port remote_username@server_ip_or_hostname

Comenzi SFTP

Majoritatea comenzilor SFTP sunt similare sau identice cu comenzile pe care le-ați utiliza în promptul shell Linux.

Puteți obține o listă cu toate comenzile SFTP disponibile tastând help sau ? .

help

Available commands: bye Quit sftp cd path Change remote directory to 'path'…… version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help

Navigarea cu SFTP

Când sunteți conectat la serverul de la distanță, directorul dvs. de lucru curent este directorul de acasă al utilizatorului de la distanță. Puteți verifica acest lucru tastând:

pwd

Remote working directory: /home/remote_username

Pentru a lista fișierele și directoarele folosiți comanda ls :

ls

Pentru a naviga într-un alt director, utilizați comanda cd . De exemplu, pentru a comuta la directorul /tmp , introduceți:

cd /tmp

Comenzile de mai sus sunt utilizate pentru a naviga și a lucra la locația de la distanță.

Shell-ul sftp oferă, de asemenea, comenzi pentru navigare locală, informații și gestionarea fișierelor. Comenzile locale sunt prefixate cu litera l .

De exemplu, pentru a tipări directorul local de lucru, introduceți:

cd lpwd

Local working directory: /home/local_username

Transferul fișierelor cu SFTP

Cu SFTP puteți transfera fișiere în siguranță între două mașini.

Comanda sftp este utilă atunci când lucrați pe un server fără GUI și doriți să transferați fișiere sau să efectuați alte operații pe fișierele de la distanță.

Descărcarea fișierelor cu comanda SFTP

După ce v-ați conectat la serverul de la distanță, directorul dvs. de lucru curent este directorul de acasă al utilizatorului de la distanță.

Când descărcați fișierele cu comanda sftp , fișierele sunt descărcate în directorul din care ați tastat comanda sftp .

Pentru a descărca un singur fișier de pe serverul de la distanță, utilizați comanda get :

get filename.zip

Produsul ar trebui să arate așa:

Fetching /home/remote_username/filename.zip to filename.zip /home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13

get filename.zip local_filename.zip

Pentru a descărca un director din sistemul de la distanță, utilizați opțiunea -r recursivă:

get -r remote_directory

Dacă un transfer de fișiere eșuează sau este întrerupt, îl puteți relua folosind comanda reget .

Sintaxa reget este aceeași cu sintaxa lui get :

reget filename.zip

Încărcarea fișierelor cu comanda SFTP

Pentru a încărca un fișier de la mașina locală pe serverul SFTP de la distanță, utilizați comanda put :

put filename.zip

Produsul ar trebui să arate așa:

Uploading filename.zip to /home/remote_username/filename.zip filename.zip 100% 12MB 1.7MB/s 00:06

Dacă fișierul pe care doriți să îl încărcați nu se află în directorul dvs. de lucru curent, utilizați calea absolută către fișier.

Când lucrați cu put puteți utiliza aceleași opțiuni disponibile cu comanda get .

Pentru a încărca un director local, introduceți:

put -r locale_directory

Pentru a relua o încărcare întreruptă:

reput filename.zip

Manipulări fișiere cu SFTP

De obicei, pentru a efectua sarcini pe un server la distanță, te-ai conecta la acesta prin SSH și ai face munca folosind terminalul shell. Cu toate acestea, în unele situații, utilizatorul poate avea acces numai SFTP la serverul de la distanță.

SFTP vă permite să efectuați unele comenzi de bază pentru manipularea fișierelor. Mai jos sunt câteva exemple despre cum se utilizează shell-ul SFTP:

  • Obțineți informații despre utilizarea discului sistemului de la distanță:

    df

    Size Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7%

    Creați un nou director pe serverul de la distanță:

    mkdir directory_name

    Redenumirea unui fișier pe serverul de la distanță:

    rename file_name new_file_name

    Ștergeți un fișier de pe serverul de la distanță:

    rm file_name

    Ștergeți un director de pe serverul de la distanță:

    rmdir directory_name

    Modificați permisiunile unui fișier pe sistemul de la distanță:

    chmod 644 file_name

    Modificați proprietarul unui fișier de pe sistemul de la distanță:

    chown user_id file_name

    Trebuie să furnizați ID-ul de utilizator comenzilor chown și chgrp .

    Modificați proprietarul grupului unui fișier la distanță cu:

    chgrp group_id file_name

După ce ați terminat cu munca, închideți conexiunea tastând bye sau quit .

Concluzie

În acest tutorial, v-am arătat cum puteți utiliza comanda sftp pentru a descărca și încărca fișiere pe serverul dvs. SFTP de la distanță.

De asemenea, poate doriți să configurați o autentificare bazată pe cheie SSH și să vă conectați la serverele Linux fără a introduce o parolă.

Simțiți-vă liber să lăsați un comentariu dacă aveți întrebări sau feedback.

terminal sftp