Paylaşımlı Hosting

FTP, SFTP ve SSH: sunucuya dosya yüklemenin yolları

FTP, FTPS, SFTP ve SSH arasındaki protokol ve güvenlik farkları, panelden hesap açma, istemci ayarları, SSH ile temel komutlar, 644 ve 755 izinlerinin anlamı ve dosya yüklerken sık yapılan hatalar.

Panelin dosya yöneticisi küçük işler için yeterlidir; ama bir temanın yüzlerce dosyasını yüklemek, büyük bir medya klasörünü indirmek ya da bir arşivi sunucuda açmak için daha uygun araçlar vardır. Bu yazı üç yolu karşılaştırır: klasik FTP, onun şifreli sürümleri ve SSH üzerinden çalışan SFTP ile komut satırı. Hangisini ne zaman seçeceğinizi, panelden hesabı nasıl açacağınızı, istemciyi nasıl ayarlayacağınızı, komut satırında en çok kullanılan birkaç komutu, 644 ve 755 izinlerinin ne anlama geldiğini ve yükleme sırasında en sık yapılan hataları anlatır.

Protokoller ve güvenlik farkı

ProtokolPortŞifrelemeNe zaman
FTP21Yok; parola ve içerik açık giderYalnızca başka seçenek yoksa, güvenilir ağda
FTPS21 (açık) ya da 990 (örtük)TLS ile şifreli FTPPaket SSH vermiyorsa en iyi seçenek
SFTP22SSH üzerinden; her şey şifreliPaket SSH erişimi sunuyorsa varsayılan tercih
SSH / SCP / rsync22SSH üzerindenKomut satırı, toplu aktarım, eşitleme

FTP 1970'lerden kalma bir protokoldür ve parolayı düz metin olarak gönderir; kafe ağı gibi ortamlarda dinlenebilir. FTPS, aynı protokolün TLS ile sarılmış hâlidir ve çoğu paylaşımlı paket destekler; istemcide “açık FTPS” (explicit) seçeneğini işaretlemek yeterlidir. SFTP ise FTP'nin bir uzantısı değil, SSH'ın dosya aktarma alt sistemidir; SSH erişimi olan hesaplarda genellikle ek kurulum gerektirmeden çalışır ve güvenlik duvarıyla tek port üzerinden geçer. Paylaşımlı paketlerde SSH erişimi her zaman açık gelmez; bazı firmalar talep üzerine açar, bazıları yalnızca üst paketlerde sunar. Paket sayfasında “SSH erişimi” yazıp yazmadığına bakın; yoksa FTPS kullanın.

Panelden hesap açma

Üç yaygın panelde de mantık aynıdır. cPanel'de FTP hesapları bölümü, Plesk'te alan adı kartındaki FTP erişimi sekmesi, DirectAdmin'de FTP yönetimi bölümü yeni hesap oluşturur. Hesap açarken üç karar verirsiniz:

  • Kullanıcı adı: cPanel ve DirectAdmin gibi paneller kullanıcı adının sonuna alan adını ekler ([email protected] biçiminde); Plesk'te ise ek hesaplar alan adı eki olmadan da adlandırılabilir. Giriş yaparken tam adı yazmanız gerekir.
  • Klasör: Hesabın görebileceği dizin. Dışarıdan çalışan biri için bu alanı yalnızca üzerinde çalışacağı sitenin klasörüne ayarlayın; hesap o klasörün üstüne çıkamaz.
  • Kota: Hesabın yükleyebileceği toplam boyut; sınırsız bırakmak paketin kotasını tüketmesine yol açabilir.

Ana panel kullanıcısı zaten bir FTP hesabıdır ve bütün dizinleri görür; günlük işler için onu değil, kısıtlı bir ek hesabı kullanmak daha güvenlidir. SFTP hesabı ayrı açılmaz; SSH erişimi olan panel kullanıcısı aynı bilgilerle SFTP'ye bağlanır. Plesk'te alan adının sistem kullanıcısı için SSH erişimi, barındırma erişimi ayarlarından (izin verilmişse) açılır; cPanel'de SSH erişimi bölümü anahtar yönetimini de içerir.

İstemci ayarları

FileZilla, WinSCP (Windows), Cyberduck (macOS) ve Transmit gibi istemciler üç protokolü de destekler. Bağlantı için gereken bilgiler:

  1. Sunucu adı: Firmanın verdiği sunucu adresi ya da alan adınız. SSL sertifika uyarısı almamak için firmanın sunucu adını tercih edin.
  2. Protokol: SFTP varsa onu, yoksa FTPS (açık TLS) seçin. Düz FTP'yi son çare olarak bırakın.
  3. Port: SFTP için 22, FTPS için 21; firma farklı bir port kullanıyorsa hoş geldiniz e-postasında yazar.
  4. Kullanıcı adı ve parola: Panelden açtığınız hesabın tam adı. Parola yöneticisinden yapıştırın.
  5. Bağlantı modu: FTP ve FTPS'te “pasif” mod, ev ve ofis ağlarındaki NAT ve güvenlik duvarlarından daha kolay geçer; bağlantı kurulup liste gelmiyorsa aktif ile pasif arasında geçiş yapın.

SFTP'de ilk bağlantıda sunucunun anahtar parmak izini, FTPS'te ise sunucu sertifikasını kabul etmeniz istenebilir; bu normaldir. Aynı sunucuda sonradan parmak izi değişti uyarısı alırsanız durup firmaya sorun. Bağlantı ayarlarını istemcide site yöneticisine kaydedin; parolayı istemcide tutmak yerine her seferinde girmek daha güvenlidir.

Yükleme sırasında aktarım türüne dikkat edin: ikili (binary) mod görsel, arşiv ve derlenmiş dosyaları bozmadan taşır; metin (ASCII) mod satır sonlarını dönüştürür. Modern istemciler uzantıya göre otomatik seçer ve bunu “auto” olarak bırakmak doğrudur.

SSH ile temel komutlar

Komut satırı, binlerce dosyayı tek tek yüklemek yerine arşivi yükleyip sunucuda açmanızı, klasörleri hızla taşımanızı ve izinleri toplu değiştirmenizi sağlar. Bağlantı: ssh kullanici@sunucuadi -p 22. Bağlandıktan sonra en sık gerekenler:

  • pwd bulunduğunuz dizini, ls -la dizindeki dosyaları izinleriyle birlikte gösterir.
  • cd public_html ana sitenin dizinine geçer; cd .. bir üst dizine çıkar.
  • unzip tema.zip arşivi açar; tar -xzf yedek.tar.gz sıkıştırılmış tar arşivini açar.
  • cp -r kaynak hedef klasörü kopyalar, mv eski yeni taşır ya da yeniden adlandırır.
  • du -sh her klasörün boyutunu gösterir (nokta ile başlayan gizli klasörler için du -sh .[!.] ekleyin); disk kotası dolduğunda neyin yer kapladığını bulmanın pratik bir yoludur.
  • scp dosya.zip kullanici@sunucuadi:public_html/ bilgisayardan sunucuya tek dosya kopyalar; rsync -avz klasor/ kullanici@sunucuadi:public_html/ yalnızca değişen dosyaları eşitler ve büyük sitelerde zamandan kazandırır.
  • wp komutu kurulu olan paketlerde WP-CLI ile WordPress'i komut satırından güncelleyebilir, eklenti kurabilir, önbelleği temizleyebilirsiniz.

Parola yerine anahtar çiftiyle bağlanmak hem daha güvenli hem daha pratiktir: bilgisayarda bir anahtar üretir, açık anahtarı panelin SSH bölümüne ya da sunucudaki authorized_keys dosyasına eklersiniz; panel sonra parola girişini tamamen kapatmanıza izin verebilir.

İzinler: 644 ve 755 ne demek?

Linux'ta her dosya için üç grup (sahip, grup, diğerleri) ve üç hak (okuma 4, yazma 2, çalıştırma 1) vardır; rakam, her grubun haklarının toplamıdır. 644 sahibin okuyup yazabildiği, diğerlerinin yalnızca okuyabildiği bir dosya demektir ve PHP, HTML, görsel gibi dosyaların doğru değeridir. 755 sahibin tam yetkili, diğerlerinin okuyup içine girebildiği bir klasördür; klasörlerde çalıştırma hakkı “içine girme” anlamına geldiğinden bu değer gerekir. Parola içeren ayar dosyaları (wp-config.php gibi) 600 ya da 640 ile kısıtlanabilir. 777 herkese yazma hakkı verir ve kötü amaçlı kodun yerleşmesini kolaylaştırır; bir eklenti bunu isterse eklentinin kendisini sorgulayın.

İzinler istemcide sağ tık menüsünden, komut satırında chmod 644 dosya ya da klasör ağacı için find . -type f -exec chmod 644 {} \; ve find . -type d -exec chmod 755 {} \; ile toplu düzeltilir. Dosya sahibi (chown) paylaşımlı pakette hesap kullanıcısı olmalıdır; yanlış sahiplik çoğunlukla sunucu tarafında bir taşımadan sonra görülür ve firmanın düzeltmesi gerekir.

Dosya aktarırken düşülen tuzaklar

  1. Dosyaları public_html'in bir üstüne ya da yanlış alan adının klasörüne yüklemek; site “boş” görünür.
  2. Arşivi bilgisayarda açıp binlerce dosyayı tek tek yüklemek; bağlantı kopar, dosyalar eksik kalır. Arşivi yükleyip sunucuda açın.
  3. Düz FTP'yi kafe ya da otel ağında kullanmak.
  4. İzinleri 777 yapmak ya da tam tersi, klasörleri 644 yapıp siteyi erişilemez kılmak.
  5. Metin modunda görsel yükleyip bozuk görsellerle uğraşmak.
  6. .htaccess gibi gizli dosyaları görmeyen istemci ayarıyla çalışıp dosyanın yüklenmediğini sanmak; “gizli dosyaları göster” seçeneğini açın.
  7. Ana panel kullanıcısının parolasını tasarımcıyla paylaşmak; kısıtlı hesap açın ve iş bitince kapatın.
  8. Yükleme bittikten sonra yerel ve sunucu dosya sayısını karşılaştırmamak; kesilen aktarımlar eksik dosya bırakır.

SSH erişimi sizin için önemliyse paket sayfasında bu özelliği doğrulayın; paylaşımlı hosting firmaları listesinden firma sayfasındaki paket özelliklerine bakın; belirtilmemişse satın almadan önce firmaya sorun. Tam root erişimi ve kısıtsız komut satırı isteyenler için VPS sunucu seçenekleri uygundur. Panellerin genel farkları cPanel mi, Plesk mi? yazısında, hesap güvenliğine dair diğer adımlar hosting güvenliği yazısında anlatılıyor.

İlgili yazılar

Windows hosting mi, Linux hosting mi? Hangi projeye hangisi

İki paket türü arasındaki fark sizin bilgisayarınız değil, sunucunun yazılım katmanıdır. ASP.NET ve MSSQL için Windows, PHP ve MySQL için Linux; panel, lisans maliyeti, uyumluluk tablosu ve sık yapılan yanlışlarla karar rehberi.

Türkiye lokasyonlu hosting firmaları: veri merkezi şehirlerine göre liste

Sunucusu Türkiye'de bulunan hosting firmalarını İstanbul, İzmir, Bursa, Denizli ve Kocaeli gibi veri merkezi şehirlerine göre grupladık; lokasyonun neden önemli olduğunu, nasıl doğrulanacağını ve şehir belirtmeyen beyanlardaki tuzakları anlattık.

Telefon desteği veren hosting firmaları ve destek saatleri

Hostinger Türkiye dışındaki 24 sağlayıcı telefon hattı beyan ediyor. 7/24 ile mesai saatli hatların ayrımını, canlı sohbet, WhatsApp, geri arama ve bilet kanallarını sitelerindeki beyanlarla listeledik; saat beyanlarının nasıl doğrulanacağını anlattık.