# SFTP ile Bağlanma: FileZilla, Cyberduck ve Komut Satırı

Source: https://support.kapsulehost.com/tr-tr/sftp-access

SFTP (Secure File Transfer Protocol), sitenizin sunucu üzerindeki dosyalarına doğrudan erişim sağlar. Bu kılavuz, kimlik bilgilerinizi bulmaktan hata gidermeye kadar başarılı bir bağlantı kurmak için ihtiyacınız olan her şeyi kapsar.

## SFTP Nedir ve Ne Zaman Kullanılır

KPanel'e yerleşik dosya yöneticisi, bir dosyayı yeniden adlandırma, bir yapılandırmayı görüntüleme veya tek bir dosya yükleme gibi hızlı düzenlemeler için kullanışlıdır. Daha fazlasına ihtiyaç duyduğunuzda doğru araç SFTP'dir:

- Aynı anda çok sayıda dosya yüklemek veya indirmek (bir siteyi taşımak, toplu resim yüklemek gibi).
- Tarayıcı tabanlı bir yüklemede zaman aşımına uğrayacak kadar büyük dosyaları aktarmak.
- Dosyaları yerel olarak düzenleyip değişiklikleri gönderdiğiniz bir geliştirme iş akışının parçası olarak çalışmak.
- Yerel ve uzak bir klasörü senkronize tutmanızı sağlayan bir GUI istemcisi kullanmak.
- KPanel'in dosya yöneticisi üzerinden erişilemeyen günlük veya yapılandırma dosyalarına erişmek.

SFTP, aktarım sırasında tüm verileri şifreler ve bu da onu düz FTP'den daha güvenli kılar. KapsuleHost şifrelenmemiş FTP bağlantıları sunmaz.

![KPanel'de bir site için SSH ve SFTP bağlantı ayrıntıları](https://support.kapsulehost.com/help/screenshots/sftp-access.df4a2e3e.webp)

## Ön Koşullar

Bağlanabilmeniz için önce iki şeyin hazır olması gerekir.

**1. KPanel'de sitenize eklenmiş bir SSH anahtarı.**

KapsuleHost'ta SFTP, SSH anahtar kimlik doğrulaması kullanır. Güvenlik nedeniyle parola kimlik doğrulaması devre dışıdır. SSH genel anahtarınızı henüz eklemediyseniz önce [SSH Anahtarlarını Sitenize Ekleme](https://support.kapsulehost.com/tr-tr/adding-ssh-keys) kılavuzunu izleyin, ardından buraya geri dönün.

**2. Site kullanıcı adınız.**

KapsuleHost'taki her sitenin kendine ait bir sistem kullanıcısı vardır. Bu, KPanel e-posta adresiniz değildir. Yalnızca o siteye özel, kısa bir kullanıcı adıdır.

Bunu bulmak için:
1. [kpanel.kapsulehost.com](https://kpanel.kapsulehost.com) adresinden KPanel'de oturum açın.
2. Sol kenar çubuğunda **Web Siteleri** öğesine tıklayın.
3. Bağlanmak istediğiniz siteye tıklayın.
4. **SSH / SFTP** sayfasına gidin.
5. Site kullanıcı adınız bu sekmenin üst kısmında gösterilir. Genellikle `mysite_com` veya `myexamplesite_net` şeklinde görünür.

**Bağlantı ayrıntılarına genel bakış:**

| Alan | Değer |
|---|---|
| Sunucu (Host) | `cp1-kapsule.kapsulehost.com` |
| Bağlantı Noktası (Port) | `22` |
| Protokol | SFTP (FTP değil, FTPS değil) |
| Kimlik Doğrulama | Yalnızca SSH anahtarı |
| Kullanıcı Adı | Site kullanıcı adınız (KPanel > Websites > [site] > Settings > SFTP üzerinden) |

---

## FileZilla ile Bağlanma

FileZilla, Windows, macOS ve Linux için kullanılabilen ücretsiz, çapraz platform bir SFTP istemcisidir. Henüz yoksa [filezilla-project.org](https://filezilla-project.org) adresinden indirin.

### Adım Adım Kurulum

1. FileZilla'yı açın.
2. **File > Site Manager** menüsüne gidin (veya Windows'ta `Ctrl+S` ya da Mac'te `Cmd+S` tuşlarına basın).
3. **Web Sitesi Ekle** öğesine tıklayın ve ona bir ad verin (örneğin, "My KapsuleHost Site").
4. **General** sekmesinde aşağıdaki alanları yapılandırın:

   | Alan | Değer |
   |---|---|
   | Protokol | **SFTP - SSH File Transfer Protocol** |
   | Sunucu (Host) | `cp1-kapsule.kapsulehost.com` |
   | Bağlantı Noktası (Port) | `22` |
   | Oturum Açma Türü (Logon Type) | **Key file** |
   | Kullanıcı (User) | Site kullanıcı adınız (örneğin, `mysite_com`) |
   | Anahtar Dosyası (Key file) | **Browse** öğesine tıklayın ve özel anahtar dosyanıza gidin |

5. Anahtar dosyası için, KPanel'e eklediğiniz genel anahtara karşılık gelen özel anahtarı seçin. macOS ve Linux'ta özel anahtarlar genellikle `~/.ssh/` konumunda saklanır (örneğin, `~/.ssh/id_ed25519` veya `~/.ssh/id_rsa`). Windows'ta ise genellikle `C:\Users\YourName\.ssh\` konumunda bulunur.

> **Note:** Özel anahtarınızın bir parolası varsa FileZilla, bağlanırken sizden bunu girmenizi isteyecektir. Bu normaldir. Bu parola, özel anahtar dosyanızı korur ve herhangi bir KapsuleHost parolasından bağımsızdır.

6. Bağlantıyı test etmek için **Connect** öğesine tıklayın veya kaydedip daha sonra bağlanmak için **OK** öğesine tıklayın.

### Kaydetme ve Yeniden Bağlanma

Site Manager'da kaydedildikten sonra, istediğiniz zaman **File > Site Manager** menüsüne gidip **Connect** öğesine tıklayarak yeniden bağlanabilirsiniz. FileZilla ayrıca kaydedilmiş sitelerinizi hızlı erişim için araç çubuğundaki açılır menüde de gösterir.

> **Tip:** FileZilla'nın Site Manager penceresinde, gelecekteki bağlantılarda sunucu anahtarı istemiyle karşılaşmamak için ilk bağlandığınızda **Always trust this host** onay kutusunu işaretleyin.

---

## Cyberduck ile Bağlanma

Cyberduck, macOS ve Windows için ücretsiz bir SFTP istemcisidir. [cyberduck.io](https://cyberduck.io) adresinden indirin.

### Adım Adım Kurulum

1. Cyberduck'ı açın.
2. **Open Connection** öğesine tıklayın (araç çubuğundaki küre simgesi).
3. İletişim kutusunun üst kısmındaki protokol açılır menüsünden **SFTP (SSH File Transfer Protocol)** seçeneğini seçin.
4. Bağlantı alanlarını doldurun:

   | Alan | Değer |
   |---|---|
   | Sunucu (Server) | `cp1-kapsule.kapsulehost.com` |
   | Bağlantı Noktası (Port) | `22` |
   | Kullanıcı Adı (Username) | Site kullanıcı adınız (örneğin, `mysite_com`) |
   | Parola (Password) | Boş bırakın |
   | SSH Özel Anahtarı (SSH Private Key) | **Choose** öğesine tıklayın ve özel anahtar dosyanızı seçin |

5. **Connect** öğesine tıklayın.

İlk bağlantıda Cyberduck, sunucunun anahtar parmak izini doğrulamanızı isteyecektir. Devam etmek için **Allow** öğesine tıklayın. Bu istemle sonraki bir bağlantıda farklı bir parmak iziyle karşılaşırsanız kabul etmeyin ve destek ekibiyle iletişime geçin; bu durum bir yapılandırma değişikliğine işaret ediyor olabilir.

### Yer İmi Olarak Kaydetme

Bağlantıyı gelecekte kullanmak üzere kaydetmek için:
1. Başarıyla bağlandıktan sonra **Bookmark > New Bookmark** menüsüne gidin (veya Mac'te `Cmd+Shift+B` tuşlarına basın).
2. Yer imine bir ad verin ve iletişim kutusunu kapatın. Yer imi, Cyberduck yer imi listenizde görünür.

---

## Terminalden Bağlanma (Mac, Linux veya WSL)

Komut satırını tercih ediyorsanız, `sftp` komutu macOS, Linux ve Windows Subsystem for Linux (WSL) üzerinde kullanılabilir.

### Temel Bağlantı

```bash
sftp mysite_com@cp1-kapsule.kapsulehost.com
```

`mysite_com` yerine gerçek site kullanıcı adınızı yazın. Özel anahtarınız varsayılan konumda (`~/.ssh/id_rsa` veya `~/.ssh/id_ed25519`) değilse, `-i` bayrağıyla belirtin:

```bash
sftp -i ~/.ssh/your_private_key mysite_com@cp1-kapsule.kapsulehost.com
```

İlk bağlantıda sunucunun anahtar parmak izini onaylamanız istenecektir. `yes` yazıp Enter tuşuna basın. Bu işlem, her cihaz için anahtar başına yalnızca bir kez gerçekleşir.

### Kullanışlı SFTP Komutları

Bağlandıktan sonra bir `sftp>` istemi göreceksiniz. Dosyalarda gezinmek ve aktarım yapmak için şu komutları kullanın:

| Komut | İşlevi |
|---|---|
| `ls` | Geçerli uzak dizindeki dosyaları listeler |
| `lls` | Geçerli yerel dizindeki dosyaları listeler |
| `cd [dir]` | Uzak sunucuda dizin değiştirir |
| `lcd [dir]` | Yerel makinenizde dizin değiştirir |
| `pwd` | Geçerli uzak dizin yolunu gösterir |
| `lpwd` | Geçerli yerel dizin yolunu gösterir |
| `get [file]` | Uzak sunucudan yerel makineye bir dosya indirir |
| `get -r [dir]` | Bir dizini yinelemeli olarak indirir |
| `put [file]` | Yerel makineden uzak sunucuya bir dosya yükler |
| `put -r [dir]` | Bir dizini yinelemeli olarak yükler |
| `rm [file]` | Uzak sunucudaki bir dosyayı siler |
| `mkdir [dir]` | Uzak sunucuda bir dizin oluşturur |
| `quit` | SFTP bağlantısını kapatır |

**Örnek: bir dosya indirme**
```bash
sftp> cd htdocs/wp-content/themes
sftp> get my-theme.zip
```

**Örnek: bir dosya yükleme**
```bash
sftp> lcd ~/Desktop
sftp> cd htdocs/wp-content/uploads
sftp> put my-image.jpg
```

---

## Dosyalarınız Nerede

Bağlandıktan sonra site kullanıcınızın ana dizininde bulunursunuz: `/home/[siteuser]/`.

Dizin yapısı şu şekilde görünür:

```
/home/mysite_com/
├── htdocs/              ← Your web root (main location for site files)
│   ├── index.php
│   ├── wp-config.php
│   ├── wp-content/
│   │   ├── themes/
│   │   ├── plugins/
│   │   └── uploads/
│   └── ...
├── logs/                ← PHP and access logs
└── tmp/                 ← Temporary files
```

WordPress'inizin (veya başka bir uygulamanızın) bulunduğu web kök dizini `htdocs/` dizinidir. Zamanınızın çoğunu geçireceğiniz dizin budur. Bazı site yapılandırmalarında bunun yerine `public_html/` olarak adlandırılmış olabilir. Bağlandığınızda `htdocs/` yerine `public_html/` görüyorsanız onu kullanın.

> **Note:** Yalnızca site kullanıcınıza ait dosyalara erişebilirsiniz. `/home/[siteuser]/` dizininin üzerine çıkamaz veya başka müşterilerin dizinlerine erişemezsiniz. Bu, tasarım gereğidir.

---

## Bağlantı Sorunlarını Giderme

### "Connection refused"

Bağlantı, kurulmadan önce etkin bir şekilde reddedildi.

**Kontrol edin:** `cp1-kapsule.kapsulehost.com` sunucusunu ve `22` bağlantı noktasını kullandığınızı doğrulayın. Yaygın bir hata, `21` bağlantı noktasını (bu, SFTP değil FTP'dir) girmek veya sunucu adında bir yazım hatası yapmaktır.

### "Permission denied (publickey)"

Sunucu bağlantı girişimini kabul etti ancak kimlik doğrulamanızı reddetti.

**Aşağıdakilerin her birini kontrol edin:**
- SSH genel anahtarınızın **KPanel > Websites > [site] > Settings > SSH Keys** bölümüne eklendiğini kontrol edin. Orada listelenmiyorsa sunucunun bu anahtara dair hiçbir kaydı yoktur.
- FileZilla/Cyberduck'ta doğru özel anahtarı, yani KPanel'e eklediğiniz genel anahtarla eşleşen özel anahtarı seçtiğinizden emin olun.
- Anahtarınızın bir parolası varsa, bunu doğru girdiğinizden emin olun.
- Birden fazla anahtarınız varsa yanlışlıkla hatalı olanı seçmediğinizi doğrulayın.

### "Host key verification failed"

SFTP istemciniz bu ana bilgisayar adı için daha önce farklı bir sunucu anahtarı görmüş ve sizi bir uyuşmazlık konusunda uyarıyor.

**İlk bağlantıda:** Parmak izini kabul etmeniz istenecektir. Bu normaldir. Accept öğesine tıklayın veya `yes` yazın.

**Yeni bir parmak iziyle sonraki bir bağlantıda:** Bu, sunucuda bir yapılandırma değişikliğine işaret edebilir. Kabul etmeden önce [support@kapsulehost.com](mailto:support@kapsulehost.com) adresinden destek ekibiyle iletişime geçin ve gördüğünüz şeyi belirtin.

Terminalde eski bir sunucu anahtarını temizlemek için `~/.ssh/known_hosts` dosyasını düzenleyin ve `cp1-kapsule.kapsulehost.com` için olan satırı kaldırın.

### "Could not read from remote repository" veya Yanlış Dizin

Kullanıcı adı olarak site kullanıcı adınız yerine yanlışlıkla KPanel e-posta adresinizi kullanmış olabilirsiniz.

**Kontrol edin:** Kullanıcı adı, e-posta adresiniz değil, site kullanıcı adınız olmalıdır (örneğin, `mysite_com`). Doğru kullanıcı adını **KPanel > Websites > [site] > Settings > SFTP** bölümünde bulabilirsiniz.

### Bağlantı Zaman Aşımına Uğruyor

Bağlantı girişimi takılıp kalır ve ardından herhangi bir hata vermeden zaman aşımına uğrar.

**Olası nedenler:**
- Tekrarlanan başarısız oturum açma denemeleri nedeniyle IP adresiniz geçici olarak KapsuleHost'un güvenlik duvarı tarafından engellenmiş olabilir. [support@kapsulehost.com](mailto:support@kapsulehost.com) adresinden destek ekibiyle iletişime geçin ve güvenlik duvarı günlüğünü kontrol etmelerini isteyin.
- Ağınızdaki yerel bir güvenlik duvarı veya VPN, 22 numaralı bağlantı noktasındaki giden bağlantıları engelliyor olabilir. Bunu ortadan kaldırmak için farklı bir ağdan deneyin (örneğin, mobil hotspot).

---

## İlgili Makaleler

- [SSH Anahtarlarını Sitenize Ekleme](https://support.kapsulehost.com/tr-tr/adding-ssh-keys)
- [KPanel'de Dosya Yöneticisini Kullanma](https://support.kapsulehost.com/tr-tr/file-manager)
- [SSH Tüneli Üzerinden Veritabanınıza Bağlanma](https://support.kapsulehost.com/tr-tr/database-ssh-tunnel)
