SFTP Nedir? SFTP Bağlantısı Nasıl Yapılır?
Sistem ve kullanıcı arasında güvenli bir dosya aktarım protokolü olmadan uzak bir sunucuyla dosya aktarımı sağlamak mümkün değildir. Kişisel, ticarî ya da kurumsal sunucular arasında sunucudan sunucuya dosya aktarımlarını güvenli hale getirmeniz gerekebilir. Bu durumda günümüzde en güvenli dosya aktarım seçeneklerinden biri olan SFTP’yi tercih edebilirsiniz.
Bu makalede “SFTP Nedir? SFTP Bağlantısı Nasıl Yapılır?” konusuna değineceğiz ve bir dosya aktarım protokolü olan SFTP hakkında bilgi vereceğiz.
SFTP Nedir? SFTP Bağlantısı Nasıl Yapılır?
SFTP Nedir?
Secure File Transfer Protokol, SFTP’nin İngilizce kısaltmasıdır ve dediğimiz gibi SFTP bir dosya aktarım protokolüdür. SFTP Secure Shell teknolojisi üzerine kurulmuştur. Bu sayede dosyalardan kullanıcı adlarına ve parolalara kadar tüm verilerin iletiminin güvenli bir şekilde şifrelenmesi sağlanır. Günümüzde FTP eskimeye başlamıştır ve FTP’deki kısıtlama ve güvenlik sorunu SFTP’de yoktur. SFTP temelinde FTP’nin bir diğer sürümü değildir. Aralarında farklı teknolojik temeller bulunmaktadır.
SFTP protokolü, varsayılan SSH bağlantı noktası 22’yi kullanarak SSH protokolü üzerinden çalışır ve birden çok eşzamanlı işlemi destekler. Ayrıca bir SFTP sunucusu, iletişim kuran her iki tarafına da kullanıcı kimliği ve parola sağlayarak veya bir SSH anahtarını doğrularak kimliklerini doğrulamasını gerektirir. SSH anahtarının yarısı iki istemcinin bilgisayarında depolanırken diğer yarısı ise sunucuda barındırılır ve istemcilerin hesaplarıyla ilişkilendirilir.
SFTP, metin tabanlı olmak yerine paket tabanlıdır. Bu da paketlerin işlenmesi daha kolay olduğu ve dolayısıyla daha az işlemci kaynağı gerektirdiği anlamına gelir. Metin tabanlı protokoller, şifrenin çözülmesi için önemli ölçüde fazla zaman alan dizinler içerebilir. Bu durumlarda SFTP tercih edilerek daha az veri el değiştirir ve dosya işlemesi kolaylaştırılır.
SFTP’yi yalnızca dosya aktarımına izin veren SCP protokolüyle karşılaştırırsak, SFTP protokolü uzak dosyalar üzerinde aynı anda birden fazla işleme izin verir. Ayrıca güvenli kanal üzerinden çalıştırıldığından, hassas bilgileri düz metin olarak açığa çıkarmayı önlemek için SSH ve şifreli FTP komutları kullanır.
SFTP’nin son derece güvenli olmasının yanı sıra başka avantajları da vardır. Bunlardan birkaçını aşağıya yazdık:
- Hem dosya hem de komut göndermek için bir bağlantı kurulabilir.
- Dosya gönderme ve silme işlemini duraklatma ve devam ettirme olanağı tanınır.
- Sembolik bağlantılar, dizin listeleri ve başka işlevler için destek sunar.
- FTP’ye kıyasla daha hızlı çalışır ve daha kararlı bağlantı kurar.
- SSH anahtarı aracılığıyla kimlik doğrulama sistemi kullanır. Bu sayede bağlantıyı sağlayan kullanıcının da güvenliği sağlanır.
- SFTP’de bir web arayüzü veya bir SFTP istemcisi kullanarak sunucunuzu kolayca yönetebilirsiniz.
SFTP Bağlantısı Nasıl Yapılır?
SFTP bağlantısı yapabilmek için öncelikle bir SFTP yapılandırmasına ihtiyacınız vardır. Kullandığınız işletim sistemine göre farklı kurulum aşamaları mevcuttur.
Linux’ta SFTP ile Sunucu Yapılandırma Nasıl Yapılır?
1) Öncelikle SFTP’de kullanabileceğiniz yeni bir grup ve kullanıcı oluşturmalısınız:
sudo groupadd sftp_odeaweb
Yukarıdaki komutta “sftp_odeaweb” adında bir grup oluşturulur.
2) SFTP üzerinde kullanacağınız kullanıcıyı oluşturun ve oluşturduğunuz kullanıcıyı gruba ekleyin
sudo useradd -m sftpodeawebkullanici -g sftp_odeaweb
Yukarıdaki komutta “sftpodeawebkullanici” adında kullanıcı oluşturulur ve bu kullanıcı “sftp_odeaweb” grubuna eklenir.
3) Oluşturduğunuz SFTP kullanıcısının şifresini belirleyin.
sudo passwd sftpodeawebkullanici
Daha sonra oluşturulan diyalogda güvenli şifrelerinizi girin.
4) Oluşturduğunuz SFTP kullanıcısına dosya aktarımı yapabilmesi için erişim izni verin:
sudo chmod 700 /home/sftpodeawebkullanici
Başarıyla grup ve kullanıcıyı oluşturdunuz. Şimdi sunucunuza SSH’ı kurup yapılandırmalısınız.
SFTP’nin düzgün çalışması için bir SSH veya OpenSSH sunucusuna ihtiyacınız vardır. Bunlardan biri sunucunuzda kurulu değilse birini kurmalısınız. Sunucunuza uzaktan bağlantı gerçekleştirdiğiniz için zaten SSH bağlantısı kuruludur. Bu durumda yapmanız gereken SSH’ı yapılandırmaktır.
5) Dosya düzenleyicinizi kullanarak SSHD dosyasını açın:
sudo vi /etc/ssh/sshd_config
6) Açılan yapılandırma dosyasının sonuna gidin ve aşağıdaki satırları ekleyin:
Match group sftp_odeaweb
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Dosyayı kaydedin ve çıkın.
7) Yaptığınız değişiklikleri uygulamak için SSH hizmetini yeniden başlatın:
sudo systemctl restart ssh
SFTP’yi Test Edin:
SFTP’ye girişi test etmek için terminali kullanabilirsiniz.
1) sftp sftpodeawebkullanici@127.0.0.1 (“odeawebkullanici” yazan kısma kendi oluşturduğunuz kullanıcının adını girmelisiniz.)
2) SFTP dizininde bir klasör oluşturmayı deneyin.
SFTP başarılı bir şekilde kurulmuştur. Oluşturduğunuz kullanıcının dizininde dosya aktarımı yapabilmek için harici bir FTP/SFTP programı kullanabilirsiniz.
Bu makalede “SFTP Nedir? SFTP Bağlantısı Nasıl Yapılır?” konusuna değindik ve SFTP hakkında bilgi verdik. Umarız makaleyi keyifle okumuşsunuzdur.