---
title: Connect via SFTP
description: How to connect to your ZevCloud WordPress site over SFTP using FileZilla, Cyberduck, or WinSCP. The most common errors and how to fix them.
---

Every WordPress service on [ZevCloud](https://zevcloud.net) ships with SFTP access so you can upload media files, replace plugin or theme code, or pull files for local debugging. This guide covers how to connect, the most common error people hit, and what each field on your dashboard maps to.

## Where to find your SFTP credentials

Open the [dashboard](https://console.zevcloud.net), pick the WordPress service, and look at the **SFTP / File Access** card on the Overview tab. You'll see:

- **Host:** something like `<slug>.zevcloud.app`.
- **Port:** a number like `2224` (each service gets its own).
- **Username:** something like `sftp_<your-slug>`.
- **Password:** revealed by clicking the eye icon.
- **Protocol:** SFTP.

You'll need all five.

> **Tip: Heads up: SFTP, not FTP**
>
> SFTP and FTP are different protocols. They use different ports, different encryption, and different code paths in your client. ZevCloud only supports SFTP. If your client tries plain FTP on port 21 (or implicit FTPS on 990), the connection will fail with "Cannot establish FTP connection to an SFTP server." Make sure your client is set to **SFTP**, not FTP.

## The shortcut: paste an `sftp://` URL

Most modern SFTP clients accept a URL in this shape:

```
sftp://<host>:<port>
```

For example:

```
sftp://my-blog.zevcloud.app:2224
```

If you paste that into your client's "Host" or "Quickconnect" field, the client recognises the `sftp://` scheme and switches to SFTP automatically. You then enter the username and password from your dashboard when prompted. **This is the easiest way to avoid the FTP-vs-SFTP confusion.**

If your client doesn't accept the URL form, use the split-field setup below.

## FileZilla

### Option 1: Quickconnect (fastest)

1. At the top of FileZilla, fill in:
   - **Host:** `sftp://<your-host>` (the `sftp://` prefix is what tells FileZilla to use SFTP)
   - **Username:** from the dashboard
   - **Password:** from the dashboard
   - **Port:** from the dashboard
2. Click **Quickconnect**.

### Option 2: Site Manager (cleaner, saves the connection)

1. **File → Site Manager → New site**.
2. On the **General** tab:
   - **Protocol:** `SFTP - SSH File Transfer Protocol` (this is the critical setting)
   - **Host:** `<your-host>` (no prefix needed when Protocol is set)
   - **Port:** from the dashboard
   - **Logon Type:** `Normal`
   - **User / Password:** from the dashboard
3. **Connect**.

The Site Manager approach saves the connection so you can reopen it in one click.

## Cyberduck

1. Click **Open Connection** in the toolbar.
2. At the top of the dialog, change the protocol drop-down from **FTP** to **SFTP (SSH File Transfer Protocol)**.
3. Fill in:
   - **Server:** your host
   - **Port:** your port
   - **Username:** from the dashboard
   - **Password:** from the dashboard (click the eye to reveal first)
4. **Connect**.

To save it: tick **Add to Keychain** before connecting.

## WinSCP

1. Open WinSCP. The **Login** dialog appears.
2. **File protocol:** `SFTP`.
3. Fill in:
   - **Host name:** your host
   - **Port number:** your port
   - **User name:** from the dashboard
   - **Password:** from the dashboard
4. **Save** (optional, names the connection so it's reusable), then **Login**.

## What you can do with SFTP

Once connected, the home directory contains your WordPress install. The folders that matter:

- `/wp-content/uploads/` — every image, video, PDF, and attachment your posts reference. This is what migrations bring over from old hosts.
- `/wp-content/themes/` — installed themes. You can SFTP-upload a theme's folder here as a faster alternative to the WP admin uploader, especially for themes >2 MB.
- `/wp-content/plugins/` — same, for plugins.
- `/wp-config.php` — WordPress core config. Generally do not edit by hand unless you know what you're doing. ZevCloud writes the database and salt values here at provisioning time.

## Common errors and fixes

### "Cannot establish FTP connection to an SFTP server"

The classic. Your client is trying FTP, but the server only speaks SFTP. Fix:

- In FileZilla, prefix the host with `sftp://` or change the Site Manager protocol to **SFTP - SSH File Transfer Protocol**.
- In Cyberduck, change the protocol drop-down to **SFTP**.
- In WinSCP, set **File protocol** to **SFTP** in the login dialog.

### "Connection refused"

Either you're using the wrong port (each service has its own — check the dashboard), or your network blocks outbound traffic on that port. Most home / corporate networks allow it; some hotel WiFi and school networks don't. Try a mobile hotspot to confirm it's a network issue, not a credentials issue.

### "Authentication failed" or "Wrong password"

The dashboard masks the password by default. Click the eye icon to reveal it, then copy. Watch out for trailing spaces if you select-and-copy. If you're sure the password is right, regenerate it from the dashboard's **SFTP / File Access** card and try the new one.

### "Host key has changed" warning

You'll get this the first time you connect (your client wants to remember the server's identity) and never again. Accept the key. If you see it on a *subsequent* connection, the server's been rebuilt — common after a redeploy. Accept the new key and continue. If you're paranoid, contact support before accepting an unexpected change.

### Connection works but uploads are slow

Each WordPress service runs on shared infrastructure. SFTP throughput is enough for typical WordPress operations (theme uploads, media files), but a multi-gigabyte one-time transfer might be slower than copying to a local SSD. For the initial migration of a large `wp-content/uploads/` folder, expect 10-20 minutes per few thousand images on a normal connection. That's network, not the server.

## Next steps

- Migrating a WordPress site from another host? See [Migrate a WordPress site to ZevCloud](/guide/migrate-wordpress).
- Setting up a custom domain? See [Custom Domains](/guide/domains).
- Need shell access (not just file transfer)? Use the **Terminal** tab on your service detail page in the [dashboard](https://console.zevcloud.net).
