FileZilla ile Linux VPS'e Dosya Aktarımı (SFTP)

3 min
VPS/VDS Hosting

SFTP mevcut SSH bağlantınızın içinde çalışır; sunucuya ek yazılım ya da yeni bir port gerektirmez. VPS Linux Infrawire üzerinde FileZilla gibi grafik bir istemciyle web sitesi yüklemenin veya yedek indirmenin en güvenli yoludur. Bu rehber parola ve anahtarla giriş, dosya izinleri ve yalnızca SFTP kullanabilen kısıtlı bir kullanıcıyı kapsar.

📋 Ön koşullar

  • 22 numaralı portta SSH çalışan bir Linux VPS (Ubuntu 24.04, Debian 12, AlmaLinux 9 veya Rocky 9).
  • Müşteri alanınızdaki VPS IP adresi ve root parolası.
  • Bilgisayarınızda kurulu FileZilla Client (FileZilla Server değil).

1. Parolayla hızlı bağlantı

İlk denemede FileZilla'nın üstündeki Hızlı Bağlan çubuğunu kullanın:

  • Sunucu: sftp://VPS_IP
  • Kullanıcı adı: USER
  • Parola: parolanız
  • Port: 22

İlk bağlantıda sunucu anahtarını kabul edin. Sağ panel sunucunun dosya ağacını gösterir. root yerine normal bir kullanıcı tercih edin: yanlış bir tıklama daha az zarar verir.

Bash
adduser USER usermod -aG sudo USER

AlmaLinux veya Rocky'de useradd -m USER, passwd USER ve usermod -aG wheel USER kullanın.

2. SSH anahtarıyla giriş

Anahtarlar parolalardan daha güvenlidir ve kaba kuvvetle bulunamaz. Kendi bilgisayarınızda bir anahtar çifti üretin ve genel kısmı sunucuya kopyalayın.

Bash
ssh-keygen -t ed25519 -C "filezilla" ssh-copy-id USER@VPS_IP

FileZilla'da Düzen > Ayarlar > Bağlantı > SFTP > Anahtar dosyası ekle yolunu açın ve özel anahtarınızı seçin (.pub uzantısız dosya). FileZilla bunu kendi biçimine dönüştürmeyi önerebilir; kabul edin. Özel anahtarı kimseyle paylaşmayın.

3. Bağlantıyı Site Yöneticisi'ne kaydetme

  1. Dosya > Site Yöneticisi menüsünü açın ve Yeni site düğmesine tıklayın.
  2. Protokol: SFTP - SSH File Transfer Protocol.
  3. Sunucu: VPS_IP, Port: 22.
  4. Oturum açma türü: parola için Normal, anahtar için Anahtar dosyası.
  5. Kullanıcı: USER. Gelişmiş sekmesinde varsayılan uzak dizini belirleyin, örneğin /var/www/example.com.
  6. Bağlan düğmesine tıklayın. Site bir sonraki sefer için kaydedilir.

Kontrol etmediğiniz bir bilgisayarda parola kaydetmeyin.

4. Web dosyalarının sahibini ve izinlerini ayarlama

Yüklenen dosyalar çoğu zaman yanlış kullanıcıya ait olur ve 403 ya da 500 hatalarına yol açar. Web dizinini kullanıcınıza verin ve web sunucusunun okumasına izin verin.

Bash
mkdir -p /var/www/example.com chown -R USER:www-data /var/www/example.com find /var/www/example.com -type d -exec chmod 755 {} \; find /var/www/example.com -type f -exec chmod 644 {} \;

AlmaLinux ve Rocky'de web sunucusu grubu www-data yerine apache adını taşır. Uygulamanın yazması gereken klasörler (yüklemeler, önbellek), grup sahibi web sunucusu grubu olacak şekilde 775 yapılabilir. Asla chmod -R 777 kullanmayın. FileZilla'da bir dosyaya sağ tıklayıp Dosya izinleri de seçebilirsiniz.

5. İsteğe bağlı: bir klasöre kilitlenmiş yalnızca SFTP kullanıcısı

Bir müşteriye kabuk vermeden tek bir klasöre erişim tanımak için chroot kullanın. Chroot dizininin kendisi root'a ait olmalı ve başkası tarafından yazılabilir olmamalıdır; aksi hâlde sshd girişi reddeder.

Bash
groupadd sftpusers useradd -M -d /files -s /usr/sbin/nologin -G sftpusers CLIENT passwd CLIENT mkdir -p /var/sftp/CLIENT/files chown root:root /var/sftp/CLIENT chmod 755 /var/sftp/CLIENT chown CLIENT:CLIENT /var/sftp/CLIENT/files

Bu bloğu /etc/ssh/sshd_config dosyasının sonuna ekleyin:

INI
1Match Group sftpusers 2 ChrootDirectory /var/sftp/%u 3 ForceCommand internal-sftp 4 AllowTcpForwarding no 5 X11Forwarding no

Yeniden yüklemeden önce sözdizimini test edin ve yeni bir girişin çalıştığını doğrulayana kadar mevcut SSH oturumunuzu açık tutun.

Bash
sshd -t systemctl reload ssh

Hizmet Ubuntu ve Debian'da ssh, AlmaLinux ve Rocky'de sshd adını taşır. Kısıtlı kullanıcı /files içine düşer ve başka hiçbir şey göremez.

Doğrulama

FileZilla'yı suçlamadan önce terminalden test edin:

Bash
sftp USER@VPS_IP sftp> pwd sftp> put test.txt sftp> ls -l

Sonra FileZilla ile bir dosya yükleyin ve sahibini ls -l /var/www/example.com ile kontrol edin.

Sorun giderme

  • Bağlantı reddedildi veya zaman aşımı: sshd'nin çalıştığını (systemctl status ssh), portun güvenlik duvarında açık olduğunu ve FTP değil SFTP seçtiğinizi kontrol edin.
  • Permission denied (publickey): anahtar ~/.ssh/authorized_keys içinde değil ya da izinler yanlış. chmod 700 ~/.ssh ve chmod 600 ~/.ssh/authorized_keys ile düzeltin.
  • Chroot kullanıcısı girişten hemen sonra atılıyor: chroot klasörü root'a ait değil ya da grup tarafından yazılabilir. journalctl -u ssh içinde "bad ownership or modes for chroot directory" ifadesini arayın.
  • Yükleme yapılamıyor, klasörde izin reddedildi: kullanıcı hedefin sahibi değil. 4. adımdaki chown ve chmod komutlarını yeniden çalıştırın.

✅ Artık FileZilla ile Linux VPS'inize dosyaları güvenle aktarabilirsiniz.

En yeni teklifler, indirimler ve özel promosyonlardan haberdar olun.

Promosyonları gör

Çerez kullanıyoruz

Sitemizdeki deneyiminizi iyileştirmek için analiz çerezleri kullanıyoruz. Hiçbir veri üçüncü taraflara satılmaz. Daha fazlasını şurada öğrenin: gizlilik politikası.