
cPanel ile FTP Hesabı Oluşturma ve FileZilla Yapılandırması
FTP, SFTP ve FTPS protokollerinin farkı, neden düz FTP'yi kullanmamanız gerektiği, cPanel'de FTP hesabı açma, FileZilla / WinSCP / Cyberduck kurulumu, key tabanlı SFTP, PASV mode, WordPress FTP credentials, rsync ile incremental transfer ve toplu dosya aktarımı için pratik rehber.
cPanel ile FTP Hesabı Oluşturma ve FileZilla Yapılandırması
Bir WordPress eklentisini zip'ten yüklemek, child theme'i sunucuya aktarmak, error.log dosyasını incelemek üzere indirmek, 4 GB'lık medya kütüphanesini başka bir hosting'e taşımak, ya da WP-Admin paneli kilitlendiğinde .htaccess dosyasını acil edit etmek. Bunların hepsinin ortak adı dosya transferi. Web geliştirme tarihinin en eski protokollerinden biri olan FTP bu işin standart aracıydı; ancak günümüzde FTP düz versiyonu güvensizdir ve yerine SFTP (SSH üstüne) ya da FTPS (TLS üstüne) tercih edilir.
Bu rehber sıradan bir "FileZilla'yı kur, host yaz" yazısı değil. Bir webmaster veya geliştiricinin sırasıyla karşılaştığı kararları anlatıyor: FTP/SFTP/FTPS arasındaki teknik farkları neden bilmeniz gerektiği, cPanel'de FTP hesabı açma ve kota yönetimi, FileZilla / WinSCP / Cyberduck / OpenSSH sftp komutu ile bağlantı, key tabanlı parolasız SFTP auth, passive mode ve firewall problemleri, WordPress'in FTP credentials ekranını sevmemenizin sebepleri, rsync ile incremental transfer, toplu dosya aktarımında tar.gz + tek SFTP put stratejisi, ve son olarak güvenlik best practice'leri.
Buyukweb perspektifi: Bursa Tier 3 veri merkezimizdeki cPanel paketlerimizde FTP + SFTP standart olarak dahildir (cPanel kullanıcı adı + parolası ile port 22 SFTP, sınırsız ek FTP hesabı). VDS sunucularımızda OpenSSH sftp-server built-in olduğu için ekstra kurulum gerekmez; tam root erişim ile chroot jail veya rsync deploy mantığı kurabilirsiniz. 0850 302 60 70 destek hattımızdan FTP/SFTP yapılandırması veya WordPress dosya transfer sorunlarınız için bizimle iletişime geçebilirsiniz.
Neden FTP / SFTP'ye İhtiyacınız Var?
Modern web çağında bile dosya transferi vazgeçilmez. WP-Admin paneli her şeyi yapabiliyor gibi görünse de gerçek senaryoda şu durumlar SFTP gerektirir:
- Plugin / theme zip yükleme — bazen WP-Admin
upload sizelimitini aşıyorsunuzdur (örn. 64 MB sınırı, 80 MB zip) ya da plugin upload feature kapalı. SFTP ile/wp-content/plugins/klasörüne direkt yükleme yapılır. - Child theme deploy — yerel geliştirdiğiniz child theme'i sunucuya aktarmak; FTP/SFTP ile klasör senkronizasyonu en hızlı yol.
- Log indirme —
/home/USER/logs/example.com.error.log200 MB olabilir; tarayıcıdan görüntülemek mümkün değil, indirmek zorunludur. - Toplu media transfer — 4 GB'lık uploads klasörünü WordPress UI ile yüklemek mümkün değil; SFTP ile direkt yazma tek pratik yol.
.htaccessveyawp-config.phpacil edit — WP-Admin kapalı olduğunda dosyayı SFTP üzerinden açıp düzeltmek zorundasınız.- Backup indirme — JetBackup yedeklerinizi yerel diskinize indirmek için SFTP en hızlı.
- Migration — bir hosting'den diğerine geçiş; tarball + SFTP ile dosya tarafı transferi.
- Statik site deploy — Hugo / Jekyll / Astro gibi statik site jeneratörlerinin build çıktısı (HTML + CSS + JS), SFTP veya rsync ile sunucuya itilir.
FTP Protokol Tarihçesi: 1971'den Bugüne
FTP, internet'in en eski uygulama katmanı protokollerinden biridir. RFC 114 (1971, Abhay Bhushan tarafından yazılmış) ile başlamış, sonra RFC 765 (1980) ve RFC 959 (1985) ile şekillenmiştir. O dönemde internet üniversite ve askeri laboratuvarlardan oluşuyordu, güvenlik öncelik değildi. Bu yüzden FTP'nin temel tasarım kararları bugünün ihtiyaçlarına uymuyor:
- Plaintext (düz metin) parola — kullanıcı adı ve parola, telde şifresiz gider; herhangi bir man-in-the-middle saldırgan parolayı yakalar.
- Çift kanallı mimari — kontrol kanalı + data kanalı; modern NAT/firewall'larla geçimsiz.
- Stateful protokol — sunucu her bağlantıyı state'le yönetir, ölçeklenmesi zor.
İnternet halka açıldıktan ve TLS standardı geldikten sonra FTP'nin güvenli sürümleri tanımlandı:
- FTPS (FTP over TLS) — FTP'nin üzerine TLS şifreleme; RFC 4217 (2005)
- SFTP (SSH File Transfer Protocol) — bambaşka bir protokol, SSH üstüne çalışır; daha modern, RFC standardı olmamakla birlikte IETF draft olarak yaygındır
Önemli ayrım: SFTP "Secure FTP" sanılır ama aslında FTP ile hiçbir ilişkisi yoktur. SFTP, SSH protokolünün bir alt komutudur (SSH File Transfer Protocol). FTPS ise klasik FTP'nin TLS ile şifrelenmiş halidir. İsim benziyor, mimari farklı.
FTP, SFTP, FTPS Karşılaştırma — Üç Protokolün Detayı
Üç protokolün de hangi senaryoda kullanıldığını anlamak için yan yana karşılaştıralım:
| Özellik | FTP düz | FTPS (FTP over TLS) | SFTP (SSH FT Protocol) |
|---|---|---|---|
| Port | 21 (kontrol), data dinamik | 21 (explicit) veya 990 (implicit) | 22 |
| Şifreleme | YOK | TLS 1.2 / 1.3 | SSH şifreleme |
| Parola güvenliği | Plaintext (telde açık) | TLS ile şifreli | SSH ile şifreli |
| Kanal sayısı | 2 (kontrol + data) | 2 (kontrol + data) | 1 (tek kanal) |
| NAT / firewall uyumu | Sorunlu (PASV gerekir) | Sorunlu (TLS ile inspect zor) | Mükemmel (tek port) |
| Key authentication | YOK | YOK | VAR (Ed25519, RSA) |
| Modern hosting desteği | Genelde var ama kapatılır | Yaygın | Standart |
| Önerilen kullanım | KULLANMAYIN | Eski uyumluluk gerekirse | TERCİH EDİN |
FTP Düz (Port 21) — Neden Kullanmamanız Gerekir?
FTP düz versiyonunda kullanıcı adı + parola telde açık metin olarak gider. Aynı Wi-Fi'da olan biri, ya da yol üzerindeki herhangi bir router'ı kontrol eden saldırgan, Wireshark gibi bir araçla bir paketi yakalayıp parolayı açık şekilde okuyabilir. 2026'da hiçbir kurumsal senaryoda kullanılmamalıdır.
Modern hosting sağlayıcıları, dahil Buyukweb, port 21 FTP'yi default olarak açıkta tutar ancak müşterilerimize kesinlikle SFTP veya FTPS'i tercih edin diyoruz. cPanel paketlerimizde her iki seçenek de aktiftir.
[Client] ←──── plaintext (parola açık!) ────→ [FTP Server :21]
↓
data channel (port dinamik)
FTPS (FTP over TLS) — İki Mod: Explicit ve Implicit
FTPS, klasik FTP'nin TLS ile sarılmış halidir. İki mod var:
Explicit FTPS (AUTH TLS, port 21):
- Client önce normal FTP gibi port 21'e bağlanır
AUTH TLSkomutu ile şifrelemeyi başlatır- Sonraki tüm trafik TLS ile şifrelidir
- Modern standart, RFC 4217
Implicit FTPS (port 990):
- Bağlantı baştan itibaren TLS
- Port 990 (FTP) ve 989 (data) kullanır
- Eski / deprecated, geriye dönük uyumluluk için var
FTPS'in pratik problemi: dual-channel mimarisi devam ediyor, yani kontrol kanalı 21'de TLS şifreli ama data kanalı için ayrıca port açma gerekir. Firewall ve NAT yapılandırması karmaşık. Üstelik TLS şifreli olduğu için firewall packet inspection yapamaz.
SFTP (SSH File Transfer Protocol, Port 22) — Önerilen Yöntem
SFTP, SSH'in alt komut olarak sunduğu dosya transfer mekanizmasıdır:
- Tek port (22) — kontrol ve data aynı SSH bağlantısı üstünde
- SSH şifreleme — modern algoritmalar (AES, ChaCha20-Poly1305)
- Key authentication — Ed25519 veya RSA key ile parolasız bağlantı
- NAT-dostu — tek port olduğu için NAT/firewall basit
- OpenSSH ile built-in — Linux/macOS
sftpkomutu kutudan çıkar çıkmaz çalışır - Modern hosting'de standart
Buyukweb cPanel paketlerinde cPanel kullanıcı adı + cPanel parolası ile port 22 üzerinden SFTP kullanabilirsiniz. Ek FTP hesapları da modern cPanel sürümlerinde SFTP olarak da bağlanılabilir. Düz FTP'yi kullanmanıza gerek yok.
[Client] ←──── SSH şifreli, tek kanal ────→ [SSH Server :22]
↓
sftp-server subsystem
Active vs Passive FTP Mode
FTP'nin (ve FTPS'in) dual-channel mimarisi, hangi tarafın data kanalını açtığına göre iki moda ayrılır. Bu, NAT/firewall debugging'inde kritik bir konsepttir.
Active Mode
1. Client → Server (port 21): "PORT 192.168.1.50:55000"
(yani benim IP'm 192.168.1.50, bana 55000 portundan veri gönder)
2. Server → Client (port 55000): data kanalı kurulur
Problem: Sunucu, client'ın rastgele bir yüksek portuna geri bağlanmaya çalışır. Modern NAT/firewall ardındaki client'ın 55000 portu dışarıya açık değildir — bağlantı timeout olur.
Passive Mode (PASV)
1. Client → Server (port 21): "PASV"
2. Server → Client (port 21): "Pasif moddayım, port 35000'e bağlan"
3. Client → Server (port 35000): data kanalı kurulur
Çözüm: Her iki bağlantıyı da client başlatır; modern NAT/firewall ile sorun olmaz. PASV mode modern default, FileZilla ve diğer client'lar otomatik kullanır.
PASV Port Range (cPanel'de 30000-50000)
cPanel sunucusunda vsftpd veya pure-ftpd'nin PASV için kullandığı port aralığı genellikle 30000-50000 arasındadır. Eğer önünüzde bir firewall (örn. corporate VPN) varsa, bu aralığın dışarıya açık olması gerekir. Aksi takdirde "PASV mode timeout" hatası alırsınız.
Buyukweb cPanel sunucularımızda PASV port range standart olarak açıktır. SFTP kullanırsanız tek port (22) olduğu için bu sorun yoktur — bir başka SFTP avantajı.
cPanel'de FTP Hesabı Adım Adım Açma
cPanel ana panelinde, kurumsal kategorisi altında "FTP Accounts" modülü bulunur. Adım adım hesap açma:
1. FTP Accounts Modülüne Gidin
cPanel ana ekran → sayfayı "FTP" diye arayın → FTP Accounts ikonuna tıklayın.
2. Add FTP Account Formu
Form alanları:
- Log In (Username) — örn.
gelistirici(sadece kullanıcı adı kısmı; cPanel otomatik@domain.com.trekler) - Domain (dropdown) — eğer cPanel'de birden fazla domain varsa hangisine ait olduğunu seçin (
@example.com.trveya@subdomain.example.com.tr) - Password — güçlü parola (16+ karakter, üst/alt/sayı/özel karakter karışımı önerilir); cPanel Password Generator butonu sağlar
- Directory — bu FTP hesabının hangi klasöre kısıtlı olacağı; chroot benzeri jail
- Boş bırakırsanız:
/home/CPANELUSER/example.com.tr/(varsayılan) /public_htmlyazarsanız: sadece public_html altına erişebilir/public_html/wp-content/uploadsyazarsanız: sadece uploads klasörü
- Boş bırakırsanız:
- Quota (Disk kotası) —
unlimitedveya MB cinsinden değer (örn.500MB)
3. Create FTP Account Tıklayın
Hesap oluşturulur. Aşağıda "FTP Accounts" listesinde yeni satır görünür.
4. Configure FTP Client (Otomatik Konfigürasyon)
Yeni hesabın yanındaki "Configure FTP Client" linkine tıklayın. Açılan sayfada şu seçenekler vardır:
- FileZilla XML — otomatik FileZilla site config dosyası indirir
- Manual Settings — host, port, username, parola bilgileri:
- FTP Server:
ftp.example.com.tr(veya sunucu IP'si) - FTP Username:
gelistirici@example.com.tr(tam form) - FTP Port: 21 (FTP) veya 22 (SFTP, cPanel paketlerimizde aktif)
- SSL/TLS Port: 21 (explicit FTPS) veya 990 (implicit)
- FTP Server:
5. Special FTP Accounts (System, Anonymous)
cPanel'de "Special FTP Accounts" başlığı altında iki sistemsel hesap görünür:
CPANELUSER@example.com.tr— ana cPanel kullanıcısı,/home/CPANELUSER/köküne tam erişimanonymous@example.com.tr— anonim FTP; Buyukweb'de varsayılan kapalıdır. Kötüye kullanım riski yüksek; manuel açmak için destek talep etmeniz gerekir.
6. Hesap Silme veya Şifre Değiştirme
FTP Accounts listesinde her hesabın yanında:
- Change Password — parola yenile
- Change Quota — kota yenile
- Delete — hesabı sil (mevcut dosyalar silinmez, sadece auth iptal)
Kaç FTP Hesabı Açmalıyım?
Tipik senaryolar:
- Geliştirici hesabı —
gelistirici@example.com.tr,/public_htmldirectory, sınırsız quota - Müşteri hesabı (read-only) —
musteri@example.com.tr, sadece/public_html/raporlar, 1 GB quota - Backup hesabı —
backup@example.com.tr,/home/CPANELUSER/backup, sınırsız - Geçici taşeron —
gecici@example.com.tr,/public_html/yeni-modul, 500 MB; iş bitince Delete
Her geliştirici için ayrı hesap açmak, kim ne zaman ne yaptığını log'tan takip etmenizi sağlar. Tek "master" hesabı paylaşmayın.
cPanel'de SFTP — Tek Port, Cpanel Parolanızla
Buyukweb cPanel paketlerimizde SFTP standart olarak aktiftir. Detaylar:
- Host:
example.com.trveya cPanel sunucu hostname - Port: 22
- Username: cPanel kullanıcı adınız (FTP'nin
@domainformatı değil, sadececpaneluser) - Password: cPanel parolanız
Önemli: SFTP'de ana cPanel kullanıcısı (
cpaneluser) ile bağlandığınızda,/home/cpaneluser/köküne tam erişiminiz olur —public_html,logs,backupklasörleri görürsünüz. Eğer sadece public_html'ye kısıtlı bir hesap istiyorsanız, cPanelEmail Accountsile değil ayrı bir cPanel kullanıcısı ya da chroot ayarlı SSH key + jail kurulumu gerekir; destek talep edin.
Ek FTP hesaplarını da modern cPanel sürümlerinde SFTP olarak bağlayabilirsiniz — port 22 + ek hesabın tam adı (gelistirici@example.com.tr) + parolası.
FileZilla Kurulum ve Yapılandırma
FileZilla, açık kaynak, çapraz platform (Windows/macOS/Linux) en yaygın FTP/SFTP/FTPS client'ıdır. filezilla-project.org üzerinden ücretsiz indirilir. Kurulum sonrası adım adım yapılandırma:
1. Site Manager Açma
- Menü: File → Site Manager (Ctrl+S)
- Sol panelde New Site butonu — site adı verin (örn. "Buyukweb hosting")
2. General Sekmesi
| Alan | FTP | SFTP | FTPS |
|---|---|---|---|
| Protocol | FTP - File Transfer Protocol | SFTP - SSH File Transfer | FTP |
| Host | ftp.example.com.tr | example.com.tr | ftp.example.com.tr |
| Port | 21 (boş bırakılırsa default) | 22 | 21 (explicit) / 990 (implicit) |
| Encryption | Only use plain FTP (insecure) | (yok — SFTP zaten şifreli) | Require explicit FTP over TLS |
| Logon Type | Normal | Normal / Key file / Interactive | Normal |
| User | gelistirici@example.com.tr | cpaneluser veya gelistirici@example.com.tr | gelistirici@example.com.tr |
| Password | parola | parola (key file ise boş) | parola |
Encryption dropdown'ı önemli: FTPS için "Require explicit FTP over TLS" seçin. FTP düz için "Only use plain FTP" seçeneği vardır ancak FileZilla varsayılan olarak güvensiz protokolü engeller — bir uyarı göstererek "ben ne yaptığımı biliyorum" onayı ister.
3. Advanced Sekmesi
- Default local directory — bilgisayarınızda hangi klasörden başlasın (örn.
C:\Users\siz\projeler\example-com) - Default remote directory — sunucuda hangi klasörden başlasın (örn.
/public_html) - Bypass proxy — corporate proxy varsa atlama
- Adjust server timezone offset — sunucu saati ile yereliniz arasındaki fark
4. Transfer Settings Sekmesi
- Transfer mode — Auto (varsayılan, FileZilla dosya tipine göre seçer), Binary (her dosya bit bit kopya, önerilir), ASCII (text dosyalarda satır sonu çevirme)
- Limit number of simultaneous connections — bazı sunucular paralel bağlantı sınırı koyar; 1-2 olarak ayarlamanız gerekebilir
5. Charset Sekmesi
- Use UTF-8 — Türkçe karakterli dosya adları için zorunlu; varsayılan ve doğru seçim
- Eski sunucularda
Force ISO 8859-1yapmak gerekebilir ama 2026'da neredeyse hiç görülmez
6. Connect
Connect butonuna tıklayın. İlk SFTP bağlantısında FileZilla server fingerprint'ini gösterir ve "trust this host?" diye sorar. Buyukweb sunucularımızın fingerprint'i ilk bağlantıda kaydedilir; sonrakilerde sessiz bağlanır.
Quickconnect — Site Manager Olmadan Hızlı Bağlantı
FileZilla'nın üst toolbar'ında Quickconnect alanı var:
- Host:
sftp://example.com.tr - Username:
cpaneluser - Password: parola
- Port: 22
- Quickconnect butonuna tıkla
Hızlı ama kalıcı kaydetmez. Site Manager kaydet için tercih edilir.
FileZilla Key Tabanlı SFTP (Parolasız)
Parola yerine SSH key kullanmak hem güvenli hem pratik. cPanel'de SSH Access → Manage SSH Keys modülünden Ed25519 veya RSA key üretebilir, ya da yerel ssh-keygen ile üretip public key'i sunucuya yükleyebilirsiniz. Detaylar için SSH Key Auth Rehberimiz.
FileZilla'da Key Import
- Menü: Edit → Settings → Connection → SFTP
- Add key file butonu
- Yerel
~/.ssh/id_ed25519(OpenSSH formatı, .pem) veya PuTTY.ppkdosyasını seçin - FileZilla key'i kaydeder
Site Manager'da Key Kullanma
- Site → Logon Type: Key file
- Key file: dosya yolu (örn.
C:\Users\siz\.ssh\id_ed25519) - Password boş
Bağlantıda parola sorulmaz; SSH key ile auth olur.
Key Tipi: Ed25519 vs RSA
| Özellik | Ed25519 | RSA |
|---|---|---|
| Algoritma | Modern elliptik eğri | Klasik RSA |
| Anahtar boyutu | 256 bit | 2048-4096 bit |
| Performans | Hızlı | Daha yavaş |
| Güvenlik | En modern, NSA-influence yok | Güvenli (4096-bit) |
| Hosting desteği | OpenSSH 6.5+ (2014+, her yerde) | Her yerde |
Yeni key üretimi için Ed25519 tercih edin. RSA 4096-bit hala güvenlidir, sadece daha yavaştır. Detay SSH Bağlantı Rehberi.
Alternatif SFTP / FTP Client'ları
FileZilla tek seçenek değil. Tercihinize ve işletim sisteminize göre alternatifler:
WinSCP (Windows)
Windows kullanıcıları için WinSCP klasik bir SFTP/SCP client'ıdır. GUI + script + key management destekler.
- iki panelli UI (sol yerel, sağ sunucu) — klasör senkronizasyonu kolay
- PuTTY entegrasyonu — SSH key (.ppk) native destek
- Script desteği —
winscp.com /script=transfer.txtile otomatik transfer - Drag-drop, kuyruk, retry mekanizması
- Ücretsiz, açık kaynak
Cyberduck (macOS + Windows)
- Mac + Windows için modern UI
- Cloud storage entegrasyonu — S3-uyumlu storage, OpenStack Swift gibi servisler de doğal destekli
- FTP, SFTP, FTPS, WebDAV, Cloudflare R2 ve diğer obje storage protokollerini bilir
- macOS Finder'a entegrasyon (Mountain Duck eklentisi ile yerel sürücü gibi)
FlashFXP (Windows, Ticari)
- Windows için profesyonel FTP/SFTP/FTPS client'ı
- Site-to-site (FXP) transfer — iki sunucu arası direkt transfer
- Multi-server, queue, scheduler
OpenSSH sftp Komutu (Linux/macOS Built-in)
Komut satırı sevenleri için OpenSSH'in built-in sftp komutu en hafif yoldur:
# Bağlan
sftp cpaneluser@example.com.tr
# Komutlar (FTP'ye benzer)
sftp> ls # uzak klasör içerik
sftp> lls # yerel klasör içerik
sftp> cd public_html # uzak klasör değiştir
sftp> lcd ~/projeler # yerel klasör değiştir
sftp> put index.html # yerel → uzak
sftp> get error.log # uzak → yerel
sftp> mget *.log # birden fazla dosya indir
sftp> mkdir yedek # uzak klasör oluştur
sftp> rm eski.html # uzak dosya sil
sftp> bye # bağlantıyı kapat
scp Komutu (Single File Transfer)
scp (Secure Copy), tek bir dosya/klasör transferi için SSH üstüne çalışan basit bir komut:
# Yerel → uzak
scp dosya.zip cpaneluser@example.com.tr:/home/cpaneluser/
# Uzak → yerel
scp cpaneluser@example.com.tr:/home/cpaneluser/error.log .
# Klasör recursive
scp -r yerel-klasor/ cpaneluser@example.com.tr:/home/cpaneluser/uzak-klasor/
Uyarı: scp modern OpenSSH'te deprecated ilan edildi (OpenSSH 8.0+). Alternatif olarak sftp veya rsync önerilir. Pratikte hala çalışır ve basit senaryolar için yeterli.
rsync — Incremental ve Hızlı Transfer
rsync, sadece değişen dosyaları transfer eden inanılmaz verimli bir araçtır. Büyük WordPress sitelerini bir hosting'ten diğerine taşırken, yerel dev'den production'a deploy ederken en iyi araç:
# Yerel klasörü uzak sunucuya senkronize
rsync -av -e ssh yerel-klasor/ cpaneluser@example.com.tr:/home/cpaneluser/uzak-klasor/
# Tersine: uzak → yerel
rsync -av -e ssh cpaneluser@example.com.tr:/home/cpaneluser/wp-content/ ./wp-content-backup/
# Sadece değişenleri kopyala, fazladan dosyaları sil (mirror)
rsync -av --delete -e ssh yerel-klasor/ cpaneluser@example.com.tr:/uzak-klasor/
# Bandwidth limiti (KB/s)
rsync -av --bwlimit=1000 -e ssh yerel-klasor/ cpaneluser@example.com.tr:/uzak-klasor/
# Progress göster
rsync -av --progress -e ssh yerel-klasor/ cpaneluser@example.com.tr:/uzak-klasor/
# Belirli dosyaları hariç tut
rsync -av --exclude='*.log' --exclude='node_modules' -e ssh yerel/ user@host:/uzak/
rsync parametreleri:
-a— archive mode (recursive, izinler, timestamp korunur)-v— verbose-e ssh— transport protokolü SSH--delete— uzakta olmayan yerel dosyaları sil (mirror)--dry-run— test, gerçek transfer yapma--bwlimit=KB— bant genişliği sınırı
WordPress migration için rsync --delete ile uploads klasörünü senkronize etmek, 100 GB'lık siteyi saatler yerine sadece değişen MB'ları transfer ederek dakikalarda taşıyabilir.
lftp — Komut Satırı FTP/SFTP Script
Linux/macOS'ta lftp aracı, FTP/SFTP/HTTP scriptleme için güçlü:
# Bağlan
lftp -u kullanici,parola sftp://example.com.tr
# Script ile otomatik
lftp -e "
open sftp://example.com.tr;
user cpaneluser PAROLA;
mirror -R /yerel/site /public_html;
bye
"
WordPress + FTP Senaryoları
WordPress'in FTP ile ilişkisi karmaşıktır. Birkaç önemli durum:
WP-Admin FTP Credentials Ekranı
Bazı sunucularda plugin yüklerken veya WordPress core update'te WP-Admin "To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials" diye bir ekran açar. Bu sinir bozucudur ve genelde gereksizdir.
Sebep: PHP'nin dosya sahibi (apache veya nobody) ile WordPress klasör sahibi (cpaneluser) farklıdır; WordPress doğrudan yazma yetkisi olmadığını düşünüp FTP fallback'e geçer.
Çözüm: wp-config.php dosyasına şu satırı ekleyin:
define('FS_METHOD', 'direct');
Bu, WordPress'e "PHP doğrudan yazsın, FTP'ye ihtiyacın yok" der. Buyukweb cPanel paketlerimizde default olarak direct modu çalışır (suPHP / CageFS) — FTP credentials ekranı görmezsiniz. Ancak başka bir hosting'den geliyorsanız bu satırı eklemeniz gerekebilir.
FS_METHOD Değerleri
WordPress wp-config.php'de FS_METHOD şu değerleri alır:
direct— PHP doğrudan yazar (önerilen)ssh2— PHP'nin ssh2 extension üzerinden SFTP (libssh2 kurulu olması gerekir)ftpext— PHP'nin FTP extension üzerinden düz FTP (güvensiz, kullanmayın)ftpsockets— PHP socket ile FTP (fallback)
WordPress Klasör İzinleri (chmod)
WordPress wp-content/ klasör ve dosya izinleri standart olarak:
- Klasörler:
755(sahip yazar, başkaları okur) - Dosyalar:
644(sahip yazar, başkaları okur) wp-config.php:600veya640(sadece sahip okur — güvenlik)
cPanel File Manager'ında her dosya/klasörün chmod'unu görebilir ve değiştirebilirsiniz. SFTP üzerinden:
sftp> chmod 755 wp-content/uploads
sftp> chmod 644 .htaccess
sftp> chmod 600 wp-config.php
WordPress Klasör Yapısı (FTP Üzerinden Görünüm)
public_html/
├── index.php
├── wp-config.php <- DB credentials, KORUMA
├── .htaccess <- rewrite rules, KORUMA
├── wp-admin/ <- admin UI (deploy ile gelir)
├── wp-includes/ <- core (deploy ile gelir)
├── wp-content/
│ ├── plugins/ <- plugin zip'leri buraya çıkar
│ ├── themes/ <- theme klasörleri buraya çıkar
│ ├── uploads/ <- medya dosyaları (en büyük klasör)
│ ├── mu-plugins/ <- must-use plugin (ister otomatik yüklenir)
│ ├── languages/ <- TR / EN po-mo dil dosyaları
│ └── cache/ <- cache plugin yazıyorsa
└── wp-cli.yml <- WP-CLI config (opsiyonel)
Toplu Dosya Transferi Optimizasyon
Binlerce küçük dosya (örn. 10.000 medya thumbnail) tek tek SFTP put etmek yavaştır çünkü her dosya için ayrı SSH handshake gerekir. Optimizasyon stratejileri:
Strateji 1: Sıkıştır ve Tek Dosya Transferi
# Yerel'de sıkıştır
tar -czf yedek.tar.gz yerel-klasor/
# SFTP ile yükle
sftp cpaneluser@example.com.tr <<< 'put yedek.tar.gz'
# Sunucuda aç (SSH ile)
ssh cpaneluser@example.com.tr 'cd uzak-klasor && tar -xzf ../yedek.tar.gz'
10.000 küçük dosya yerine tek 200 MB dosya transferi ile 5-10x hızlanma.
Strateji 2: rsync ile Incremental
rsync sadece değişen dosyaları gönderir. İlk transfer büyük olur, ikinci/üçüncü transfer sadece delta.
Strateji 3: FileZilla Multi-Connection
FileZilla'da:
- Edit → Settings → Transfers
- Maximum simultaneous transfers: 4-10 arası
- Birden fazla SFTP bağlantısı paralel — toplam throughput artar
Uyarı: Sunucu admin'i SSH bağlantı limitini düşürmüşse (örn.
MaxSessions 2) çok paralel bağlantı reddedilir. Buyukweb cPanel sunucularımızda makul limit (10-20 paralel) izin verilir.
Güvenlik Best Practice — FTP/SFTP Hardening
Yıllar içinde FTP/SFTP üzerinden saldırılar gördük. Aşağıdaki kontrol listesi temel hardening:
1. FTP Düz Kullanmayın — Sadece SFTP veya FTPS
Tekrarlamaya değer: port 21 FTP plaintext parolanızı yola koyar. SSL/TLS olmadan kullanmayın. Buyukweb paketlerinde her ikisi de aktif, tercihiniz SFTP olsun.
2. SFTP Key Authentication + Parola Disable
Maksimum güvenlik için:
- SSH key ile bağlantıyı kurun
/etc/ssh/sshd_config(VDS'te):PasswordAuthentication no PubkeyAuthentication yes PermitRootLogin no
Brute-force parola saldırıları mümkün olmaz çünkü parola yok. Detay SSH Key Auth Rehberi.
3. Rate Limiting + Fail2Ban
Çok sayıda başarısız login denemesi IP'yi geçici ban'a alır:
# Fail2Ban kurulumu (VDS'te)
sudo apt install fail2ban
sudo systemctl enable --now fail2ban
# /etc/fail2ban/jail.local
[sshd]
enabled = true
port = 22
maxretry = 3
bantime = 3600
[vsftpd]
enabled = true
port = ftp,ftp-data,ftps,ftps-data
maxretry = 5
bantime = 1800
cPanel sunucularımızda Fail2Ban veya benzeri brute-force koruma standart aktiftir.
4. Audit Log
Kim ne zaman hangi dosyayı transfer etti loglanmalı:
- vsftpd log:
/var/log/vsftpd.log - pure-ftpd log:
/var/log/pureftpd.log - SSH/SFTP log:
/var/log/secure(RHEL/AlmaLinux) veya/var/log/auth.log(Debian/Ubuntu) - cPanel'de: Last Login Activity veya Raw Access Logs modülü
KVKK ve ISO 27001 sertifikasyonu için audit log saklamak zorunludur.
5. Read-Only FTP User
Sadece okumak için ayrı bir FTP kullanıcısı oluşturun (örn. müşteri rapor klasörünü görsün ama yazmasın). cPanel FTP'de yazma izni klasör chmod ile değil sunucu yapılandırması ile kontrol edilir; bunun için destek talebi ile read-only mode için ayar isteyin.
6. chroot Jail
Kullanıcı, kendi home dizini dışına çıkamamalıdır. Çıkamayacağı bir cezaevi (chroot jail) ayarlanmalı:
- vsftpd default chroot ayarı:
chroot_local_user=YES - OpenSSH için
/etc/ssh/sshd_config:Match User gelistirici ChrootDirectory /home/gelistirici ForceCommand internal-sftp
Buyukweb cPanel sunucularımızda CageFS sayesinde her cPanel kullanıcısı kendi izole filesystem cezaevindedir — başka kullanıcının dosyalarını göremez.
7. TLS Sertifikası ve Hostname Doğrulama
FTPS bağlantısında FileZilla sunucu sertifikasını gösterir. İlk bağlantıda fingerprint'i kaydedin; sonraki bağlantılarda uyarı çıkıyorsa sertifika değişmiş demektir — MITM saldırısı şüphesi vardır, bağlanmayın, destek ile iletişime geçin.
Buyukweb cPanel sunucularımız Let's Encrypt veya geçerli CA sertifikasıyla FTPS sunar.
8. Production Sırasında Dosya Değişimi — Tercih: Git + Deploy
FTP/SFTP ile production'a doğrudan dosya yazmak risklidir çünkü:
- Versiyon kontrolü yok — hangi dosya ne zaman değişti?
- Rollback zor — bozuk dosyayı geri almak için manuel kopya
- Çoklu geliştirici çakışma yapar
Modern alternatif: Git repository + deploy script:
# Sunucuda repo
cd /home/cpaneluser/example.com.tr
git pull origin main
# Veya CI/CD pipeline (GitHub Actions, GitLab CI, Jenkins)
FTP/SFTP acil müdahale ve medya/log transferi için ideal; kod deploy için git tercih edilir.
9. WordPress Dosya Integrity Scan
FTP üzerinden değiştirilmiş bir dosya, kötü amaçlı kod içerebilir. Wordfence veya benzer security plugin ile periyodik tarama:
- Plugin core hash'leri ile sunucudaki dosyalar karşılaştırılır
- Değişmiş çekirdek dosyalar uyarı verir
- Backdoor / shell taraması yapılır
Yaygın FTP/SFTP Sorunları ve Çözümleri
"550 Permission denied"
Dosya/klasör izni yanlış. SFTP'te chmod ile düzeltin:
sftp> chmod 755 hedef-klasor
sftp> chmod 644 dosya.html
WordPress wp-content/uploads/ klasörü için 755 veya 775 olmalı; aksi takdirde plugin/theme upload yapamaz.
"421 Service not available, closing control connection"
Çok fazla paralel bağlantı veya sunucu kapalı:
- FileZilla Limit number of simultaneous connections ayarını 1-2'ye düşürün
- Birkaç dakika sonra tekrar deneyin
- Sunucu admin'ine danışın (Buyukweb destek 0850 302 60 70)
"Connection refused (port 21)"
FTP düz portu kapalı, sadece SFTP aktif olabilir:
- Port'u 22 yapın, Protocol'ü SFTP seçin
- Buyukweb cPanel sunucularımızda SFTP 22 her zaman açık
"PASV mode timeout"
Pasif data kanalı portu firewall ardından kapalı:
- ISP veya corporate VPN'in 30000-50000 portlarını engellediğini kontrol edin
- VPN ile değil direkt internet üzerinden bağlanmayı deneyin
- SFTP'e geçin (tek port 22, PASV sorunu yok)
"WordPress FTP credentials ekranı açılıyor"
wp-config.php'de FS_METHOD direct yapın:
define('FS_METHOD', 'direct');
"Bağlantı çok yavaş"
- FileZilla Transfer Settings → Limit number of simultaneous connections → 4-8 yapın
rsync --bwlimitolmadan deneyin (limit varsa kaldırın)- Sunucu ile aranızdaki coğrafi mesafe — TR datacenter (Buyukweb Bursa) AB sunucudan daha yakın
"Hostname could not be resolved"
DNS sorunu:
- Sunucu IP'sini direkt yazın (
195.85.100.52gibi) - DNS cache temizleyin (
ipconfig /flushdnsWindows /sudo dscacheutil -flushcachemacOS)
"Sertifika hatası (FTPS)"
İlk bağlantıda fingerprint kaydedilmemiş veya sertifika değişmiş:
- FileZilla'da fingerprint diyalogunda "Always trust" tıklayın
- Yeni bağlantıda otomatik kabul edilir
VDS Kullanımı — Postfix / OpenSSH Built-in SFTP
VDS sunucu müşterilerimiz için ek bilgi: VDS Ubuntu/Debian/Rocky kurulumlarında OpenSSH sftp-server subsystem built-in gelir. Ek kurulum gerekmez. sshd_config'te şu satır default aktiftir:
Subsystem sftp /usr/lib/openssh/sftp-server
VDS'te ekstra FTP kullanıcısı oluşturmak için:
# Yeni kullanıcı + home
sudo adduser gelistirici
# SSH key kabul et
sudo -u gelistirici ssh-copy-id gelistirici@localhost
# Sadece SFTP (shell yok) için chroot jail
echo "Match User gelistirici
ChrootDirectory /home/gelistirici
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no" | sudo tee -a /etc/ssh/sshd_config
sudo systemctl restart sshd
Bu yapılandırma sayesinde gelistirici kullanıcısı SSH üzerinden komut çalıştıramaz, sadece SFTP ile /home/gelistirici/ altına yazabilir — chroot jail.
cPanel + WHM Reseller — Sub-Account FTP Yönetimi
Reseller hosting müşterilerimiz, WHM (Web Host Manager) üzerinden alt-cPanel hesapları oluşturur. Her alt-cPanel kendi FTP hesaplarını yönetir. Reseller olarak:
- WHM → List Accounts ile alt-cPanel'leri görürsünüz
- Her birinin FTP/SFTP credentials'ı kendi cPanel kullanıcı adı + parolasıdır
- Müşteriniz kendi cPanel paneline girip kendi FTP hesabını yönetir
Bu, tipik web ajansı / freelancer modelidir — siz altyapıyı yönetirsiniz, müşteri kendi FTP'sini.
FTP / SFTP Performans — Gerçekçi Beklentiler
Bir transferin ne kadar süreceğini etkileyen faktörler:
| Faktör | Etki |
|---|---|
| Bant genişliği (ISP) | Doğrudan; 100 Mbps ile 1 GB dosya teorik 80 saniye |
| Protokol overhead | SFTP %5-10 daha yavaş (şifreleme CPU yükü) |
| Dosya sayısı | Çok küçük dosya = çok handshake = yavaş |
| Sunucu disk I/O | SSD vs HDD — Buyukweb tümü NVMe SSD |
| Coğrafi mesafe (RTT) | TR-TR <20ms, TR-AB 50-80ms, TR-ABD 150ms+ |
| Sunucu yükü | Diğer kullanıcılar paralel transfer ediyorsa düşer |
Buyukweb cPanel paketlerimiz Bursa Tier 3 datacenter + NVMe SSD + 1 Gbps uplink ile sektör ortalamasının üstünde transfer hızı sağlar. TR-içi kullanıcılar için RTT 20ms altıdır.
Sık Sorulan Sorular (SSS)
"FTP mi SFTP mi kullanmalıyım?"
Her zaman SFTP'i tercih edin. FTP düz versiyonu parolanızı plaintext olarak gönderir; herhangi bir man-in-the-middle saldırgan parolayı yakalar. SFTP, SSH üstüne kurulu olduğu için tüm trafik şifrelidir, modern algoritmalar (Ed25519 key, AES-256, ChaCha20-Poly1305) kullanır. cPanel paketlerimizde SFTP standart açıktır (port 22 + cPanel parolanız). FTPS de TLS şifrelemeli alternatif ancak dual-channel mimari NAT/firewall karmaşıklığı yüzünden SFTP kadar pratik değildir.
"FileZilla ücretsiz mi? Hangi platformlarda çalışır?"
Evet, FileZilla tamamen ücretsiz ve açık kaynak. Windows, macOS, Linux üçünde de çalışır. filezilla-project.org üzerinden indirilir. FileZilla Server (sunucu yazılımı) da var ama Linux için vsftpd veya pure-ftpd daha yaygındır. Müşterilerimize FileZilla istemcisini öneriyoruz; alternatifler WinSCP (Windows özel), Cyberduck (Mac + Windows), sftp komut satırı (Linux/macOS built-in) da kullanılabilir.
"Parolasız SFTP nasıl yaparım?"
SSH key authentication kullanın. Yerelinizde ssh-keygen -t ed25519 ile bir key çifti üretin; public key'i (~/.ssh/id_ed25519.pub) sunucuya yükleyin (cPanel SSH Access → Manage SSH Keys modülü ile veya ~/.ssh/authorized_keys dosyasına ekleyerek). FileZilla'da Site Manager → Logon Type → Key file → private key dosyasını seçin. Bağlantıda parola sorulmaz. Detay için SSH Key Auth Rehberimize bakın.
"cPanel'de SFTP portu nedir?"
Buyukweb cPanel paketlerimizde SFTP port 22'dir. Kullanıcı adı cPanel kullanıcı adınız (ek FTP hesapları için ek hesabın tam formu, gelistirici@example.com.tr), parola cPanel parolanızdır. FileZilla'da Protocol "SFTP - SSH File Transfer Protocol" seçin, port 22 girin.
"WordPress plugin yükleyemiyorum, 'FTP credentials' istiyor?"
wp-config.php dosyanıza şu satırı ekleyin:
define('FS_METHOD', 'direct');
Bu, WordPress'e "PHP doğrudan dosya yazsın, FTP fallback'e gerek yok" der. Buyukweb cPanel paketlerimizde suPHP / CageFS sayesinde default direct modu çalışır; FTP credentials ekranı görmemeniz gerekir. Başka hostingten geliyorsanız bu satır gerekebilir.
"Toplu medya transferi için en hızlı yol nedir?"
İki strateji öneririz: (1) tar -czf yedek.tar.gz uploads/ ile sıkıştır, tek SFTP put ile gönder, sunucuda SSH ile tar -xzf ile aç — 10.000 küçük dosya için 5-10x hız. (2) rsync -av -e ssh ile incremental — ilk transfer büyük, sonraki transferler sadece değişen dosyalar (delta), migration için ideal. Hangi yaklaşım sizin için doğru, dosya hacmi ve değişim sıklığına bağlı.
"FTP düz neden hala var?"
Geriye dönük uyumluluk. 30+ yıllık eski sistemler, gömülü cihazlar (printer, router), bazı eski CMS'ler hala düz FTP bekleyebilir. Buyukweb cPanel sunucularımızda port 21 düz FTP açıktır ancak kullanmamanızı öneriyoruz. SFTP veya FTPS ile aynı hesap erişimine sahipsiniz, sadece protokol değişir.
"Sunucuyu hacklenmekten nasıl korurum?"
Kritik kontrol listesi: (a) SFTP key auth + parola disable — brute-force imkansızlaşır. (b) Fail2Ban veya benzeri — çok başarısız login → IP ban. (c) chroot jail — kullanıcı kendi home dışına çıkamaz; cPanel'de CageFS standart. (d) Audit log — /var/log/secure, /var/log/auth.log günlük takip. (e) WordPress security plugin (Wordfence) — dosya integrity scan. (f) Düzenli güncelleme — WP core + plugin + theme + sunucu paket güncellemeleri.
Sonuç ve Sonraki Adımlar
Dosya transferi web geliştirmenin vazgeçilmez parçasıdır ama 1971'in FTP'si artık yetmez. Önerimiz:
- Düz FTP'yi terk edin — parolanız telde açık, MITM saldırgan yakalar.
- SFTP'i tercih edin — SSH üstüne, tek port 22, modern şifreleme, NAT-dostu.
- FTPS'i sadece geriye dönük uyumluluk için kullanın — yeni projelerde değil.
- Key authentication ile parolasız SFTP kurun — Ed25519 + parola disable.
- FileZilla, WinSCP, Cyberduck veya OpenSSH
sftp/rsyncaraç seçimi tercihinize bağlı. - rsync incremental ile büyük migration / deploy yapın — saatler yerine dakikalar.
- WordPress'te
FS_METHOD directile FTP credentials ekranını kapatın. - chroot jail + Fail2Ban + audit log ile sunucuyu hardening yapın.
Buyukweb cPanel paketlerimizde FTP + SFTP standart dahildir (Bursa Tier 3 datacenter, NVMe SSD, 1 Gbps uplink). VDS sunucularımızda OpenSSH built-in sftp-server ile ek kurulum gerekmez. WordPress migrasyonu, statik site deploy, veya günlük dosya transferi için altyapımız hazır.
İlgili Büyükweb Hizmetleri
- cPanel Web Hosting — FTP + SFTP standart dahil, NVMe SSD, JetBackup
- VDS Sunucu — Root erişim, OpenSSH built-in, chroot jail kurulumu serbest
- Reseller Hosting — WHM üzerinden alt-cPanel FTP yönetimi
- SSH Bağlantı Rehberi — PuTTY, OpenSSH, Ed25519 key tabanlı bağlantı
- SSH Key Authentication — Parolasız güvenli SFTP/SSH için key kurulum
- Linux SSH Komutları — Sunucu yönetiminde temel komut seti
FTP/SFTP yapılandırması, WordPress dosya transferi sorunları, rsync migration desteği veya VDS chroot jail kurulumu için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz. Bursa Tier 3 veri merkezimizden TR datacenter altyapısı ve uzman destek sağlıyoruz.
cPanel & Plesk İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:

