sftp transfer

Kako da koristite SFTP za transfer fajlova

Da li i dalje koristite isti stari standardni FTP (File Transfer Protocol) za razmenu fajlova sa remote servera? Prošlo je više od 50 godina otkako se pojavio FTP, a skoro upola manje od kada se pojavio SFTP. Sa SFTP-om smo dobili dobru alternativu FTP-u, sa dobrim bezbednosnim algoritmima i bez ugrožavanja brzine prenosa.

FTP vs SFTP

FTP je skraćenica od File Transfer Protocol. Koristeći model klijent/server, FTP podržava direktan prenos datoteka između vašeg izabranog FTP klijenta i vašeg veb servera. FTP koristi dva odvojena kanala za prenos informacija: komandni kanal i kanal podataka. Podrazumevano, oba ova kanala su nešifrovana, što znači da bi zlonamerni akteri potencijalno mogli da prisluškuju informacije koje prenosite.

SFTP je skraćenica za SSH File Transfer Protocol, iako se takođe obično naziva Secure File Transfer Protocol. SFTP nudi istu osnovnu funkciju kao FTP, ali koristi tuneliranje i vrši prenos fajlova preko SSH-a, što se razlikuje od FTP-ovog klijent-server i pristupa direktnom prenosu. Iako su mnogi GUI alati i aplikacije dostupni u svim operativnim sistemima, u ovom tekstu ćemo to prikazati koristeći klasičnu CLI metodu.

ftp vs sftp

Ključna razlika između FTP-a i SFTP-a je u tome što SFTP koristi siguran kanal za prenos datoteka dok ga FTP ne koristi. Uz SFTP, vaša veza je uvek bezbedna i podaci koji se kreću između vašeg FTP klijenta i vašeg web servera su šifrovani. To znači da zlonamerni akteri ne mogu da sede u sredini i presreću vaše podatke – sve što prenosite uvek je šifrovano.

Sa FTP-om, potrebno je da se autentifikujete pomoću korisničkog imena i lozinke kada se prvo povežete. Međutim, podaci koji prolaze između vašeg veb servera i FTP klijenta nisu šifrovani, što znači da bi zlonamerni akter teoretski mogao da prisluškuje te informacije.

Ovo bi bilo posebno opasno ako prenosite datoteke sa osetljivim informacijama. Na primer, sa WordPress sajtom, mogli biste da prenosite wp-config.php fajl, koji uključuje kredencijale vaše baze podataka, zajedno sa drugim kritičnim podešavanjima.

Ako se zlonamerni akter dočepao ovog fajla, imao bi sve što im je potrebno da preuzmu vaš WordPress sajt.

Podešavanje SSH-a

ssh

Da biste počeli da koristite SFTP, potrebno je da podesite SSH i na lokalnim i na remote serverima.

Sada izvršite naredbu ispod da proverite da li je pokrenuta ili ne.

$ sftp
usage: sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher] [-D sftp_server_path] [-F ssh_config] [-i identity_file] [-J destination] [-l limit] [-o ssh_option] [-P port] [-R num_requests] [-S program] [-s subsystem | sftp_server] destination

Kako se povezati sa SFTP-om

Pre svega, prvo se uverite da li sada SSH radi kao pozadinski servis na remote serverima, da biste podesili konekciju. Nakon toga, obratite pažnju na korisničko ime udaljenog sistema i njegov host IP ili ime domena. Nakon što dobijete korisničko ime i IP/domen, koristite komandu ispod u lokalnom sistemu da biste se povezali sa remote serverom.

$ sftp testhost@192.168.0.106
The authenticity of host '192.168.0.106 (192.168.0.106)' can't be established.
ED25519 key fingerprint is SHA256:N1/BpC453dvqVhXCJ0FCZIQfiXIdHkLd6oq361jcCPs.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Ne zaboravite da zamenite gornje korisničko ime i host. Sada unesite „yes“ da biste omogućili čuvanje informacija o hostu na lokalnom sistemu.

Korišćenjem drugog porta koji nije podrazumevani 22 dok konfigurišete udaljeni SSH server, koristite flag „-P“ da biste odredili prilagođeni port, kao što je prikazano ispod.

$ sftp -P 22 testhost@192.168.0.106

Ako podesite SSH ključ (preporučeno) na udaljenom sistemu, on vam neće tražiti korisničku lozinku; u suprotnom, tražiće od vas lozinku korisnika udaljenog sistema za autentifikaciju, kao što je prikazano u nastavku.

Warning: Permanently added '192.168.0.106' (ED25519) to the list of known hosts.
testhost@192.168.0.106's password:

Unesite svoju korisničku lozinku (npr. testhost) za udaljeni sistem. Zatim će se autentifikovati i dati “sftp>” terminalu da komunicira sa udaljenim serverom, kao što je prikazano ispod.

Connected to 192.168.0.106.
sftp>

Preuzimanje fajlova sa remote servera

Sada kada ste povezani sa remote serverom, možete početi  preuzimanje fajlova sa servera. Za prenos fajlova sa udaljenog na lokalni, koristićemo komandu get, koja nam pomaže da preuzmemo fajlove sa udaljenog sistema.

Pokrenimo komandu ls da navedemo sve datoteke i direktorijume na udaljenom serveru, kao što je prikazano u nastavku.

sftp> ls
Desktop Documents Downloads Music Pictures Public Templates Videos to.txt

Za proveru možete koristiti komandu PWD.

Koristeći donju komandu, hajde da preuzmemo „to.txt“ sa remote servera na lokalni sistem.

sftp> get to.txt
Fetching /home/testhost/to.txt to to.txt
to.txt

Komanda get to.txt će preuzeti fajl u vaš lokalni trenutni radni direktorijum, koji je bio pre povezivanja sa serverom.

Ako želite da preuzmete fajlove na drugoj lokaciji, navedite putanju kao što je prikazano ispod.

sftp> get to.txt Documents/
Fetching /home/testhost/to.txt to Documents/to.txt
to.txt

Umesto jednog fajla, ako preuzimate direktorijum koji sadrži mnogo fajlova, možete koristiti oznaku "-r" zajedno sa komandom get, kao što je prikazano ispod.

sftp> get -r Pictures/
Fetching /home/testhost/Pictures/ to Pictures
Retrieving /home/testhost/Pictures
Screenshot.png

Prenos lokalnih fajlova na remote server

Da biste otpremili bilo koji fajl sa lokalnog sistema na remote server, potrebno je da koristite naredbu put. Rad komande put je veoma sličan get komandi sa malom razlikom.

U komandi put, potrebno je da navedete putanju lokalnog fajla, a zatim da je otpremite na server, kao što je prikazano u nastavku.

sftp> put file.txt
Uploading file.txt to /home/testhost/file.txt
file.txt
sftp> ls
Desktop Documents Downloads Music Pictures Public Templates Videos file.txt image.jpg to.txt

Iznad možete da vidite „file.txt“ učitan u remote home direktorijum. Ako ne navedete nijedno odredište na remote serveru, on će uglavnom otpremiti datoteku u home direktorijum.

Kao što je prikazano u nastavku, da biste promenili putanju za otpremanje, navedite je posle putanje lokalnog fajla.

sftp> put file.txt Documents/
Uploading file.txt to /home/testhost/Documents/file.txt
file.txt sftp> ls Documents/
Documents/file.txt

Ako ste otpremali folder, koristite oznake „-r“ za rekurzivno otpremanje direktorijuma sa lokalnog na remote server kao što je prikazano ispod.

sftp> put -r dir
Uploading dir/ to /home/testhost/dir
Entering dir/
file.txt
sftp> ls
Desktop Documents Downloads Music Pictures Public Templates Videos dir file.txt image.jpg
to.txt

Zaključak

Nadamo se da će ovaj tekst promeniti vaše mišljenje na temu SFTP-a , ali ako i dalje insistirate na korišćenju starog standardnog FTP protokola, predlažemo da ga koristite samo kada imate potpuno poverenje u mrežu preko koje radite transfer fajlova.

1 komentar. Ostavi novi

Neki mali softveri koje smo koristili za FTP vise i ne rade kao ranije. Koristio sam najvise filezilla programcic, a vec mesecima me ne sluzi. Ipak je vreme da malo unapredim alate 🙂

Одговори

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *