SFTP yani Secure File Transfer Protocol, SSH kullanarak güvenli bir şekilde dosya aktarımı yapan protokoldür. SSH tarafından sağlanan güvenlik özellikleri, FTP’den farklı olarak SFTP’yi güvenli hale getirir. FTP’nin RSA destekli versiyonudur. TCP 22 portu üzerinden çalışır.
Windows işletim sistemleri için çok sayıda SFTP programları vardır. Birden fazla istemci programları vardır fakat dünya genelinde en çok kullanılan program OpenSSH’dir.
Peki SFTP’yi nasıl kullanırız, hangi komutlar gerekli?
sftp {kullanici}@{ip_adresi}
veya
sftp {kullanici}@{sunucu_adresi}
Varsayılan port olan 22’yi değiştirdiyseniz yukarda verdiğimiz örnek gibi bir bağlantı gerçekleştiremeyeceksiniz. Bunun yerine aşağıdaki örnek ile bağlantı kurmanız gerekmektedir.
sftp -oPort=portunuz {kullanici}@{ip_adresi}
veya
sftp -oPort=portunuz {kullanici}@{sunucu_adresi}
Buna ek bir örnek olarak bu şekilde bağlantı kurmalısınız.
sftp -oPort=6520 [email protected]
Yerel Makineden Uzak Makineye SFTP Kullanarak Nasıl Dosya Kopyalanır?
Bir yerel makineden uzak makineye dosya kopyalamak için get komutunu kullanırız. Bu komutu kullanmanız için bir örnek paylaşacağım.
get yereldosya.txt /UzakSunucu
Örnekte görüldüğü gibi yerel makinede yereldosya.txt dosyamız yer alıyor. /UzakSunucu ise uzak makinenin dosya yolunu belirtiyor. Bu şekilde yerel makineden uzak makineye dosya kopyalaması yapabilirsiniz.
Yerel Makineden Uzak Makineye SFTP Kullanarak Nasıl Dosya Yüklenir?
Bir yerel makineden uzak makineye dosya yüklemek için put komutunu kullanırız. Bu komutu kullanmanız için bir örnek paylaşacağım.
put /desktop/yereldosya.txt /root/desktop/
Örnekte görüldüğü gibi yerel makinede /desktop/yereldosya.txt dosyamız yer alıyor. /root/desktop/ ise uzak makinenin dosya yolunu belirtiyor. Bu şekilde yerel makineden uzak makineye dosya transferi yapabilirsiniz.
Uzak Makineden Nasıl Dosya İndirebiliriz?
Öncelikle hangi uzak ve yerel dizinleri kullandığımızı kontrol etmemiz gerekiyor.
sftp> lpwd Local directory: /LocalDirectory sftp> pwd Remote directory: /RemoteDirectory
Kontrolümüz tamamlandı ise devam edebiliriz. Uzak makinedeki dosyayı yerel makinenize aşağıda verilen örnekteki gibi indirebilirsiniz.
get /root/desktop/uzakdosya.txt
Sonrasında uzakdosya.txt dosyası yerel makinenize indirilmiş olacaktır.
Bir diğer komutlar;
- ls: Host bilgisayarda dizin içeriğini listeleme.
- lls: İstemci bilgisayarda dizin içeriğini listeleme.
- rename: Host bilgisayarda dosya adı değiştirme. (ör: rename eski_isim yeni_isim)
- exit veya quit komutları o anki aktif SFTP bağlantısını sonlandırmaya yarar.