SFTP (SSH File Transfer Protocol) este un protocol de fișiere securizat care este 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, dar este mai sigur și mai ușor de configurat.spre deosebire de SCP , care acceptă numai transferuri de fișiere, SFTP vă permite să efectuați o serie de operații pe fișiere 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 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
în interiorul unui ecran sau a unei sesiuni tmux.
directorul de unde executați comanda sftp
este directorul de lucru local.
stabilirea unei conexiuni SFTP #
SFTP funcționează pe un model client-server. Este un subsistem de SSH și suportă toate mecanismele de autentificare SSH.
Pentru a deschide o conexiune SFTP la un sistem la distanță, utilizați sftp
comanda urmată de către server de la distanță, numele de utilizator și adresa IP sau numele de domeniu:
sftp remote_username@server_ip_or_hostname
Dacă vă conectați la host folosind parola de autentificare, vi se va solicita să introduceți parola de utilizator.,
Odată conectat, veți fi prezentat cu sftp
prompt, și puteți începe interactiunea cu serverul de la distanță:
Connected to remote_username@server_ip_or_hostname.sftp>
Dacă serverul de la distanță SSH nu este de a asculta pe portul implicit 22 , folosiți -P
opțiune pentru a specifica SFTP port:
sftp -P custom_port remote_username@server_ip_or_hostname
SFTP Comenzi #
cele Mai multe dintre SFTP comenzi sunt similare sau identice cu Linux comenzi shell.pentru a obține o listă cu toate comenzile SFTP disponibile, tastați help
sau ?
.,
help
Acesta va afișa o listă lungă cu toate comenzile disponibile, inclusiv o scurtă descriere a fiecărei comanda:
Available commands:bye Quit sftpcd 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 #
atunci Când sunteți conectat la serverul de la distanță, actualul director de lucru este utilizator de la distanță directorul home., Puteți verifica faptul că prin tastarea:
pwd
Remote working directory: /home/remote_username
Pentru a lista fișierele și directoarele, folosiți ls
command:
ls
pentru a naviga La un alt director, utilizați cd
comandă. De exemplu, pentru a comuta la /tmp
director trebuie să tastați:
cd /tmp
comenzile De mai sus sunt folosite pentru a naviga, și de a lucra pe locație 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 imprima director de lucru locale, ai fi de tip:
cd lpwd
Local working directory: /home/local_username
Transferul de Fișiere cu SFTP #
SFTP vă permite să transferați fișiere între două mașini în condiții de siguranță.dacă lucrați pe o mașină desktop, puteți utiliza un client SFTP GUI precum WinSCP sau FileZilla pentru a vă conecta la serverul de la distanță și a descărca sau încărca fișiere.,
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 la distanță.,
Descărcarea de Fișiere cu SFTP Comanda #
Pentru a descărca un singur fișier de la server de la distanță, utilizați get
command:
get filename.zip
rezultatul ar trebui să arate ceva de genul asta:
Fetching /home/remote_username/filename.zip to filename.zip/home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13
atunci Când descărcarea de fișiere cu sftp
, fișierele sunt descărcate la directorul de la care ați tastat sftp
comandă.,
Dacă doriți să salvați fișierul descărcat cu alt nume, specificați numele nou ca al doilea argument:
get filename.zip local_filename.zip
Pentru a descărca un director de la sistemul de la distanță, utilizați recursiv -r
opțiune:
get -r remote_directory
Dacă un transfer de fișiere nu reușește sau este întreruptă, puteți relua utilizarea reget
comandă.,
sintaxa reget
este aceeași ca și sintaxa get
:
reget filename.zip
Încărcarea Fișierelor cu SFTP Comanda #
Pentru a încărca un fișier de pe mașina locală la distanță SFTP server, utilizați put
command:
put filename.zip
rezultatul ar trebui să arate ceva de genul asta:
Uploading filename.zip to /home/remote_username/filename.zipfilename.zip 100% 12MB 1.7MB/s 00:06
Dacă fișierul pe care doriți să încărcați nu este situat în directorul de lucru, utilizați calea absolută la dosar.,
când lucrați cu put
puteți utiliza aceleași opțiuni disponibile cu comanda get
.
Pentru a incarca un director local, trebuie să tastați:
put -r locale_directory
Pentru a relua un întreruptă de încărcare:
reput filename.zip
Fișier Manipulări cu SFTP #
de Obicei, pentru a efectua sarcini pe un server de la distanță, vă va conecta la el prin SSH și de a face munca ta folosind shell-ul terminalului. Cu toate acestea, în unele situații, utilizatorul poate avea doar acces SFTP la serverul de la distanță.,
SFTP vă permite să efectuați câteva comenzi de bază de manipulare a fișierelor.,server de la distanță:
mkdir directory_name
Redenumiți un fișier de 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 un director de pe serverul de la distanță:
rmdir directory_name
Modifica permisiunile unui fișier de pe sistemul de la distanță:
chmod 644 file_name
Schimba proprietarul unui fisier de pe sistemul de la distanță:
chown user_id file_name
trebuie să furnizați ID-ul de utilizator pentru chown
și chgrp
comenzile.,
Modifica grupul posesor al unui fișier de la distanță cu:
chgrp group_id file_name
Odată ce ați terminat cu munca ta, închide conexiunea prin tastarea bye
sau quit
.
concluzie #
în acest tutorial, v-am arătat cum să utilizați comandasftp
pentru a descărca și încărca fișiere pe serverul SFTP de la distanță.
De asemenea, poate doriți să configurați o autentificare bazată pe chei SSH și să vă conectați la serverele Linux fără a introduce o parolă., Dacă vă conectați în mod regulat la aceleași sisteme, puteți simplifica fluxul de lucru definind toate conexiunile în fișierul de configurare SSH .
Lasă un răspuns