FTP Nedir, Nasıl Kullanılır?
Sitenizi güncellemek, bir eklentiyi elle silmek ya da sunucudaki yedeği bilgisayarınıza çekmek istediğinizde hosting desteğinin cevabı çoğu zaman aynı kelimeyle başlar: “FTP ile bağlanın.” Kelime kısa ama arkasında port, pasif mod, şifreleme ve dosya izni gibi birkaç ayrıntı var.
FTP Nedir?
FTP, bir istemci ile bir sunucu arasında çalışan dosya aktarım protokolüdür. Dosyaların durduğu makine FTP sunucusu, ona bağlanan bilgisayarınızdaki yazılım ise FTP istemcisidir; günlük dilde buna “FTP programı” denir. İstemci sunucuya bağlanır, kimliğini kanıtlar, ardından dosya yükler, indirir, siler, yeniden adlandırır ya da klasör açar.
Protokolün yaşı da ilginç. İlk tanımı 1971’de RFC 114 ile yayımlandı, bugünkü davranışını belirleyen belge ise 1985 tarihli RFC 959. Yani FTP, ARPANET’in henüz TCP/IP kullanmadığı yıllarda doğdu. Hâlâ ayakta olmasının sebebi basit: her işletim sisteminde, her hosting panelinde ve neredeyse her ağ cihazında karşılığı var.
Bugün en sık şu işlerde karşımıza çıkar:
- Web sitesi dosyalarını sunucudaki
public_html,wwwya dahtdocsklasörüne yüklemek - WordPress tema ve eklenti dosyalarına elle müdahale etmek
- Büyük yedekleri sunucudan indirmek
- Kamera, kasa ya da üretim cihazı gibi sistemlerin sunucuya düzenli dosya bırakması
- Kurumlar arası toplu veri alışverişi (bu alanda artık çoğunlukla SFTP)
FTP Nasıl Çalışır?
FTP’yi diğer protokollerden ayıran şey, iki ayrı bağlantı kullanmasıdır. Komut bağlantısı varsayılan olarak 21. porttan açılır ve “şu kullanıcıyım”, “klasörü listele”, “şu dosyayı gönder” gibi komutları taşır. Dosyanın kendisi ise ayrı bir veri bağlantısından akar. Bu bölünmüş yapı, FTP’nin güvenlik duvarlarıyla yıllardır kavgalı olmasının asıl nedenidir.
Ham bir oturum şöyle görünür:
220 Welcome
USER ahmet
331 Password required for ahmet
PASS ********
230 Login successful
PASV
227 Entering Passive Mode (203,0,113,10,195,80)
LIST
150 Here comes the directory listing
226 Directory send OK
Üç haneli sayılar sunucunun cevap kodlarıdır: 1xx işlem başladı, 2xx başarılı, 3xx devam et (bilgi gerekli), 4xx geçici hata, 5xx kalıcı hata demektir. 227 satırının sonundaki iki sayı veri portunu verir: 195 × 256 + 80 = 50000. Yani sunucu, dosya trafiği için 50000. portta beklediğini söylüyor.
Aktif ve Pasif Mod
Aktif modda istemci “ben şu portta dinliyorum, sen bana bağlan” der ve veri bağlantısını sunucu başlatır. Evdeki modemin ya da bilgisayarın güvenlik duvarı içeri gelen bu bağlantıyı çoğu zaman reddeder. Pasif modda iş tersine döner: sunucu bir port açıp bekler, istemci iki bağlantıyı da kendisi kurar. Giden bağlantıyı engelleyen güvenlik duvarı nadirdir, bu yüzden modern FTP programları varsayılan olarak pasif modu kullanır.
Sunucuyu siz yönetiyorsanız pasif port aralığını (örneğin 50000-50100) tanımlayıp güvenlik duvarında açmanız gerekir. “Bağlandım ama klasörler listelenmiyor” şikâyetlerinin büyük kısmı bu eksikten çıkar.
ASCII ve Binary Aktarım
ASCII modu satır sonu karakterlerini sistemler arasında dönüştürür (Windows’un CRLF’i ile Linux’un LF’i gibi) ve metin dosyaları için mantıklıdır. Binary modu baytlara dokunmaz. Görsel, ZIP ya da PDF’yi ASCII modda yüklerseniz dosya bozulur. Programlardaki “Otomatik” seçenek uzantıya bakarak karar verir; yine de yüklediğiniz bir görsel sunucuda açılmıyorsa ilk bakacağınız yer burasıdır.
FTP, FTPS ve SFTP Arasındaki Fark
En sık yapılan yanlış, SFTP’yi “güvenli FTP” sanmaktır. SFTP (SSH File Transfer Protocol), FTP’ye eklenmiş bir katman değil, SSH üzerinde çalışan ayrı bir protokoldür. FTPS ise gerçekten FTP’dir, yalnızca TLS/SSL ile sarılmıştır. İsimler benzer, davranışlar farklı:
|
Özellik |
FTP |
FTPS |
SFTP |
|---|---|---|---|
|
Açılımı |
File Transfer Protocol |
FTP over SSL/TLS |
SSH File Transfer Protocol |
|
Varsayılan port |
21 |
21 (explicit), 990 (implicit) |
22 |
|
Parola ağda |
Açık metin |
Şifreli |
Şifreli |
|
Güvenlik duvarı |
Zor (çok port) |
Zor (çok port) |
Kolay (tek port) |
|
Anahtarla giriş |
Yok |
Sınırlı (istemci sertifikası) |
Var (SSH anahtarı) |
Düz FTP’de kullanıcı adınız ve parolanız ağ üzerinde okunabilir halde gider. Kafede, otelde ya da paylaşımlı bir ağda bunu yakalamak sanıldığından kolaydır. Sağlayıcınız FTPS ya da SFTP sunuyorsa düz FTP’yi bırakın. Seçim sizdeyse SFTP, değilse “explicit FTPS” (FileZilla’daki adıyla “Require explicit FTP over TLS”) tercih edin.
Tarayıcı da çözüm değil: Firefox ve Chrome FTP desteğini 2021’de kaldırdı. Yani ayrı bir FTP istemcisi şart.
FTP Ayarları: Bağlanmadan Önce Gerekli Bilgiler
Hangi programı seçerseniz seçin aynı beş bilgiye ihtiyacınız olacak: sunucu adresi (alanadi.com, ftp.alanadi.com ya da IP adresi), kullanıcı adı, parola, port ve protokol. Port, FTP ile explicit FTPS için genellikle 21, SFTP için 22’dir; sağlayıcınız farklı bir port tanımlamış olabilir.
cPanel kullanan hostinglerde “FTP Hesapları” bölümünden yeni hesap açabilir, hesabın yanındaki “Configure FTP Client” bağlantısından hazır ayarları görebilirsiniz. Plesk ve DirectAdmin’de de benzer bir bölüm var. VPS ya da dedicated sunucuda SFTP için ayrı hesap gerekmez; SSH ile girdiğiniz kullanıcı yeterlidir.
Küçük bir ayrıntı: paylaşımlı hostinglerde TLS sertifikası çoğu zaman sizin alan adınız için değil, sunucunun ana adı için düzenlenir. Host kutusuna alan adınızı yazınca sertifika uyarısı almanız bundan olabilir; en sağlıklısı sağlayıcınızın bildirdiği sunucu adını kullanmaktır.
FileZilla Nasıl Kullanılır?
FileZilla Client; Windows, macOS ve Linux’ta çalışan, ücretsiz ve açık kaynaklı bir FTP programıdır. FTP, FTPS ve SFTP’yi destekler. Ücretli FileZilla Pro sürümü buna Amazon S3, Google Drive, OneDrive, Dropbox ve WebDAV gibi bağlantıları ekler. Arama sonuçlarında “FileZilla indir” diye çıkan kopya sitelere güvenmeyin: programı yalnızca resmî sitesinden (filezilla-project.org) indirin, kurulumda ek yazılım önerisi çıkarsa işaretini kaldırın. Sunucu kurmak isterseniz ayrı bir ürün olan FileZilla Server’a bakın; burada istemciyi anlatıyoruz.
İlk Bağlantı: Hızlı Bağlan ve Site Yöneticisi
Hızlı bir deneme için pencerenin üstündeki Sunucu, Kullanıcı adı, Parola ve Port kutularını doldurup “Hızlı Bağlan”a basmanız yeter. Sunucu adının başına sftp:// yazarsanız FileZilla protokolü kendisi seçer. Önek yazmazsanız FTP’yi dener ve mümkünse TLS ile şifrelemeye çalışır.
Sık kullanacağınız bağlantılar için Site Yöneticisi daha düzenli:
Ctrl+Sile Site Yöneticisi’ni açın, “Yeni Site”ye tıklayıp tanıyacağınız bir ad verin.- Protokol olarak FTP ya da SFTP’yi seçip sunucu adını yazın.
- FTP seçtiyseniz şifrelemeyi “Require explicit FTP over TLS” yapın. Sunucu desteklemiyorsa bağlantı kurulmaz; o durumda SFTP’yi deneyin.
- Oturum açma türünü “Normal” yapıp kullanıcı adı ve parolayı girin. Parolanın diske yazılmasını istemiyorsanız “Parola sor” seçeneği var.
- “Bağlan”a basın. İlk bağlantıda sertifika ya da host key onayı çıkar; parmak izini sağlayıcınızın bildirdiğiyle karşılaştırın, eşleşiyorsa kabul edin.
Dosya Yükleme, İzinler ve Gizli Dosyalar
Pencere dört bölgeden oluşur: üstte mesaj günlüğü, solda kendi bilgisayarınız, sağda sunucu, altta aktarım kuyruğu. Dosyayı soldan sağa sürüklerseniz yükleme, sağdan sola sürüklerseniz indirme başlar. Kuyruktaki “Başarısız aktarımlar” sekmesi, yüzlerce dosya yüklerken hangisinin düştüğünü gösterir.
.htaccess gibi noktayla başlayan dosyalar sunucu tarafında görünmüyorsa “Sunucu” menüsünden “Force showing hidden files” seçeneğini açın. İzinler için dosyaya sağ tıklayıp “Dosya izinleri”ne girin; WordPress’te yaygın değerler dosyalar için 644, klasörler için 755’tir. İş yürümüyor diye 777 vermeyin, sorunu çözmez yalnızca kapıyı aralar.
Bir hız ipucu: FTP her dosya için ayrı bir veri bağlantısı kurduğundan binlerce küçük dosya (bir WordPress çekirdeği gibi) yavaş yüklenir. Klasörü ZIP’leyip tek dosya olarak gönderin, sunucudaki dosya yöneticisinden açın; çoğu zaman çok daha çabuk biter.
WordPress’te Kurtarıcı Hamle
Bir eklenti güncellemesinden sonra siteniz beyaz ekran veriyor ve panele giremiyorsunuz. FileZilla ile bağlanın, wp-content/plugins klasörüne girin ve şüpheli eklentinin klasörünü yeniden adlandırın (örneğin eklenti-kapali). WordPress klasörü bulamayınca eklentiyi devre dışı bırakır ve site çoğu zaman geri gelir. FTP’nin 2026’da hâlâ işe yaradığını gösteren en somut örneklerden biri bu.
Parolalarınızı Koruyun
FileZilla, Site Yöneticisi’ndeki parolaları varsayılan olarak yerel bir XML dosyasında yalnızca Base64 ile kodlayarak, yani fiilen açık saklar. Bilgisayarınıza erişen biri bunları okuyabilir. “Edit → Settings → Interface → Passwords” bölümünde “Save passwords protected by a master password” seçeneğini açın. Ana parolayı unutursanız kayıtlı parolalar geri getirilemez; ana parolayı güvenli bir yere yazın.
WinSCP Nasıl Kullanılır?
WinSCP, yalnızca Windows’ta çalışan, ücretsiz ve açık kaynaklı bir istemcidir. SFTP, SCP, FTP/FTPS, WebDAV ve Amazon S3’ü destekler. FileZilla kadar sade durmaz ama otomasyonda ve düzenli iş akışlarında bir adım önündedir.
Kurulum ve ilk bağlantı. Programı resmî sitesinden (winscp.net) indirin. Normal kurulumun yanında, ayarlarını kayıt defteri yerine bir dosyada tutan taşınabilir (portable) sürümü de var; USB bellekten çalıştırabilirsiniz. Açılan oturum penceresinde “File protocol” listesinden SFTP, FTP ya da SCP’yi seçin, sunucu adını, portu, kullanıcı adını ve parolayı yazıp “Save”e basın. FTP kullanıyorsanız “Encryption” kutusundan TLS/SSL explicit seçeneğini seçmeyi unutmayın. Arayüz iki düzende çalışır: Commander (FileZilla gibi iki panelli) ve Explorer (tek panelli).
FileZilla’da bulamayacağınız birkaç şey:
- Senkronizasyon: “Synchronize” iki klasörü karşılaştırıp farkları aktarır. “Keep remote directory up to date” ise yerelde kaydettiğiniz her değişikliği sunucuya kendisi gönderir; statik site geliştirirken çok pratik.
- Dahili editör: Sunucudaki dosyaya çift tıklayıp düzenleyin, kaydedince otomatik yüklenir. İsterseniz VS Code ya da Notepad++ gibi harici bir editör de bağlayabilirsiniz.
- Yarım dosya koruması: Aktarımı sürdürme desteği açıkken WinSCP yüklemeyi önce
.filepartuzantılı geçici dosyaya yapar, bitince asıl adına çevirir. Ziyaretçi yarım kalmış dosyayı görmez. - PuTTY uyumu:
Ctrl+Pile aynı oturumu terminalde açar, PuTTY’nin anahtar (.ppk) ve Pageant altyapısıyla çalışır. - Ana parola: Tercihler’deki güvenlik bölümünden kayıtlı oturumları ana parolayla koruyabilirsiniz.
Betikle otomasyon. WinSCP komut satırından winscp.com ile çalışır, .NET assembly olarak C# ya da PowerShell’den de çağrılabilir. Anahtarla giriş yapan bir yayına alma betiği şöyle görünebilir:
open sftp://deploy@sunucu.ornek.com/ -privatekey="C:\anahtar\deploy.ppk" -hostkey="ssh-ed25519 255 SHA256:PARMAK_IZI"
synchronize remote C:\site\build /var/www/html -delete
exit
winscp.com /script=deploy.txt /log=deploy.log komutuyla çalıştırır, Windows Görev Zamanlayıcı ile düzenli hale getirirsiniz. -delete, yerelde olmayan uzak dosyaları siler; ilk denemede onsuz çalıştırın. Betiği sıfırdan yazmanız gerekmez: “Generate Session URL/Code” özelliği açık oturumdan hazır betik üretir.
Bitvise SSH Client ile SFTP Bağlantısı
Bitvise SSH Client (bazı kaynaklarda “Bitwise” diye yazılır, doğrusu Bitvise) bir FTP programı değildir; FTP ya da FTPS konuşmaz. SSH tabanlı bir istemcidir ve SFTP, SCP, terminal ile port tünelleme sunar. Yalnızca Windows’ta çalışır. Geliştiricisi istemcinin kurumlar dahil her ortamda ücretsiz kullanılabildiğini belirtiyor; yine de lisans metnini bir kez okuyun. Aynı firmanın Bitvise SSH Server ürünü ise Windows sunucunuza SSH/SFTP erişimi kurmak içindir ve ayrıca lisanslanır.
Bağlantı adımları:
- Programı açın. “Login” sekmesinde Host kutusuna sunucu adresini, Port kutusuna 22’yi (farklıysa sağlayıcınızın verdiğini), Username kutusuna kullanıcı adını yazın.
- “Initial method” listesinden password ya da publickey’i seçin. Anahtarla girecekseniz “Client key manager”dan bir anahtar çifti üretin (Ed25519 iyi bir tercih) ve açık anahtarı sunucudaki
~/.ssh/authorized_keysdosyasına ekleyin. - “Log in”e basın. İlk bağlantıda sunucunun host key parmak izi gösterilir; sağlayıcınızın verdiğiyle eşleşiyorsa “Accept and Save” deyin. Sonraki bağlantılarda parmak izi değişirse Bitvise uyarır. Sunucu yeniden kurulmadıysa bu uyarıyı ciddiye alın.
- Giriş yapınca “New SFTP window” ve “New terminal console” düğmeleri kullanıma açılır. SFTP penceresi FileZilla’yı andıran iki panelli bir dosya yöneticisidir.
Bitvise’i sıradan bir SFTP programından ayıran üç şey var: yerleşik terminal, sftpc ve sexec gibi komut satırı araçları ve tünelleme. Örneğin uzak sunucudaki MySQL’i internete açmadan, “C2S” (client to server) sekmesinde yerel bir portu sunucudaki 3306’ya bağlayıp HeidiSQL ya da MySQL Workbench ile localhost üzerinden erişebilirsiniz. Elinizde yalnızca FTP konuşan eski bir uygulama varsa “FTP-to-SFTP bridge” özelliği de işe yarar.
Ne zaman seçmeli? Sağlayıcınız yalnızca SFTP/SSH veriyorsa, VPS ya da dedicated sunucu yönetiyorsanız, anahtar tabanlı giriş ve tünel gerekiyorsa. Paylaşımlı hostingde elinizde yalnızca bir FTP hesabı varsa Bitvise işinize yaramaz; FileZilla ya da WinSCP kullanın.
FileZilla, WinSCP ve Bitvise Karşılaştırması
|
Özellik |
FileZilla |
WinSCP |
Bitvise SSH Client |
|---|---|---|---|
|
Platform |
Windows, macOS, Linux |
Yalnızca Windows |
Yalnızca Windows |
|
Protokoller |
FTP, FTPS, SFTP (Pro’da bulut bağlantıları da) |
SFTP, SCP, FTP/FTPS, WebDAV, S3 |
SFTP, SCP (FTP ve FTPS yok) |
|
Güçlü yanı |
Sade arayüz, her platformda aynı |
Senkronizasyon, betik, otomasyon |
Terminal, tünelleme, anahtar yönetimi |
|
Sınırı |
Otomasyon sınırlı |
Yalnızca Windows |
Düz FTP hesaplarıyla çalışmaz |
|
Lisans |
Ücretsiz, açık kaynak (Pro ücretli) |
Ücretsiz, açık kaynak |
Ücretsiz, kapalı kaynak |
Kısaca seçim:
- Paylaşımlı hosting, WordPress, ara sıra dosya yükleme: FileZilla.
- Windows’ta düzenli yayına alma, yedekleme, zamanlanmış görevler: WinSCP.
- SSH ile sunucu yönetimi, anahtarla giriş, tünelleme: Bitvise (WinSCP de iş görür).
- macOS ya da Linux: FileZilla veya Cyberduck. Çoğu güncel sistemde komut satırından
sftp kullanici@sunucukomutu da çalışır.
FTP Hataları ve Çözümleri
Hata mesajı çoğu zaman sorunun yarısını söyler. En sık karşılaşılanlar:
|
Hata |
Anlamı |
Ne yapmalı |
|---|---|---|
|
530 Login incorrect |
Kullanıcı adı ya da parola reddedildi |
Parolayı elle yazın (kopyalarken boşluk gelmiş olabilir). Hosting hesabı ile FTP hesabı parolası farklı olabilir. Çok sayıda hatalı denemeden sonra IP’niz engellenmiş olabilir. |
|
550 Permission denied |
Bu klasörde bu işleme yetkiniz yok |
Doğru klasörde misiniz? İzinleri ve disk kotasını kontrol edin. |
|
421 Too many connections |
Aynı IP’den çok fazla bağlantı |
Eşzamanlı aktarım sayısını 1-2’ye düşürün. |
|
425 Can’t open data connection |
Veri bağlantısı kurulamadı, dizin listesi gelmiyor |
Pasif modu ve sunucunun pasif port aralığını kontrol edin, güvenlik duvarına bakın, VPN’i kapatıp deneyin. |
|
Connection timed out |
Sunucuya hiç ulaşılamıyor |
Adres ve portu doğrulayın. Mobil hotspot gibi başka bir ağdan deneyin; port bir güvenlik duvarında engelli olabilir. |
|
ECONNREFUSED |
Sunucu o portta dinlemiyor |
Portu ve protokolü kontrol edin (21 ile 22 sık karışır). Servis kapalı olabilir. |
|
Server sent passive reply with unroutable address |
Sunucu pasif yanıtta yerel bir IP bildirdi |
FileZilla gerçek adrese döner, bağlantı genelde yine kurulur. Kalıcı çözüm için sağlayıcıdan pasif IP ayarının düzeltilmesini isteyin. |
|
Host key değişti (SFTP) |
Parmak izi öncekiyle uyuşmuyor |
Sunucu yeniden kurulduysa normal. Değilse bağlanmayın, sağlayıcıyla doğrulayın. |
FTP Güvenliği İçin Kontrol Listesi
- SFTP kullanın, olmuyorsa explicit FTPS. Düz FTP’yi yalnızca yerel ağda ya da test için bırakın.
- Mümkünse parola yerine SSH anahtarı kullanın; parola kullanıyorsanız uzun olsun ve başka hiçbir yerde geçmesin.
- FTP hesabına yalnızca gereken klasöre erişim verin, iş bitince geçici hesapları silin.
- İstemcide ana parolayı açın (FileZilla ve WinSCP’de bu seçenek var).
- Dosya izinlerinde 777 kullanmayın.
- Programları yalnızca resmî sitelerinden indirin ve güncel tutun.
- Sunucuyu siz yönetiyorsanız anonim girişi kapatın, tekrarlanan başarısız denemeleri otomatik engelleyin (fail2ban gibi).
Sık Sorulan Sorular
FTP portu kaçtır? Komut bağlantısı için 21. Aktif modda veri 20. porttan, pasif modda sunucunun belirlediği yüksek bir porttan akar. SFTP 22, implicit FTPS 990 kullanır.
FTP ücretsiz mi? Protokol açık bir standarttır ve FileZilla, WinSCP ile Bitvise SSH Client de ücretsiz indirilebilir. Maliyet protokolde değil, bağlanacağınız hosting ya da sunucudadır; FileZilla Pro gibi ücretli sürümler ise isteğe bağlıdır.
FTP güvenli mi? Düz FTP değil, çünkü parola dahil her şey şifresiz gider. FTPS ve SFTP şifrelidir.
FTP ile SFTP arasındaki fark nedir? SFTP, FTP’nin şifreli hali değil, SSH üzerinde çalışan ayrı bir protokoldür. Tek port (22) kullandığı için güvenlik duvarlarıyla da daha az sorun çıkarır.
Tarayıcıdan FTP’ye bağlanılır mı? Hayır. Chrome ve Firefox 2021’de FTP desteğini kaldırdı; bir FTP istemcisi kullanın.
FTP yerine ne kullanılabilir? Dosya aktarımı için SFTP ya da SSH üzerinden rsync, kod yayınlamak için Git tabanlı dağıtım veya CI/CD, çok büyük dosyalar için S3 gibi bulut depolama.