Skip to content

06Web hosting & WordPress

Upload files – file manager, SFTP, FTP and SSH

How to upload files to your Nexthosting Webspace: with the web panel file manager, via SFTP with FileZilla, with FTP accounts or via SSH and rsync.

In short

For single files, the file manager in the web panel (website → Files) is enough. For many or large files, use a program such as FileZilla with SFTP (through your SSH access) or an FTP account. Everything visitors should see belongs in the public_html folder.

What do you want to do?
Change or upload a few filesFile manager in the browser
Moving, scripts, WP-CLI, ComposerSSH
Way Available Encrypted Good for
File manager all plans yes (in the browser via HTTPS) quick changes, unpacking ZIPs
SFTP / SSH Webspace: all plans. WordPress: from Basic yes large uploads, moves, command line
FTP accounts all plans (5 to 50 accounts per plan) only with FTPS (TLS) logins for other people, programs without SFTP

Every website has its own area. Other websites – including your own – are separate from it.

  • Directory~ (home folder of the website)
    • Directorypublic_html/ everything reachable on the web
      • index.php home page (or index.html)
      • .htaccess
      • …
    • backup.sql example: a database export, not publicly reachable here
  1. Log in to the web panel, open Websites and click your website.
  2. Choose Files at the top.
  3. Open the public_html folder.
  4. Upload files, create folders, rename, move or delete. You can edit text files such as .htaccess or wp-config.php directly in the browser.
  5. For many files: pack them into a ZIP on your computer, upload only the ZIP and unpack it in the file manager. This is much faster than a thousand single files.

You can see a file’s full path by right-clicking the file → Get info. You need it for cron jobs, for example.

SSH is an encrypted access to your website’s command line. SFTP (file transfer) also works through the same access. SSH is included in every Webspace plan, and in WordPress hosting from Basic.

You find the settings in the web panel for the website under Advanced → Developer tools. There you see the username and server you connect with, and that is where you store your SSH key.

Setting Value
Server (host) the server shown in the web panel, or your own domain (e.g. meinverein.de) once it points to your website
Port SSH and SFTP 22
Port FTP 21 (only use with TLS, see FTP accounts)
Username the SSH user shown in the web panel

A key is more secure and more convenient than a password.

Open the terminal (Windows: PowerShell) and generate a key:

Terminal window
ssh-keygen -t ed25519 -C "my-laptop"

Confirm the location with Enter and set a passphrase. Then display the public part:

Terminal window
cat ~/.ssh/id_ed25519.pub

In Windows PowerShell: type $env:USERPROFILE\.ssh\id_ed25519.pub

Copy the public key (it begins with ssh-ed25519) and paste it into the SSH section under Developer tools in the web panel. Never share the private key.

Terminal window
ssh USERNAME@SERVER

Insert the username and server from the web panel. After logging in you are in the website’s home folder; use cd public_html to change to the web folder.

On the server, you have among others php (in the version you chose for the website), composer, wp (WP-CLI), rsync, ssh and top. There are no root rights and no custom system services on a Webspace – that is what a VPS is for.

  1. Install FileZilla (the client, not the server).
  2. Open Datei (File) → Servermanager (Site Manager) → Neuer Server (New site).
  3. Protocol: SFTP – SSH File Transfer Protocol.
  4. Host: the server from the web panel, port 22.
  5. Logon type: Schlüsseldatei (Key file), user from the web panel, key file: your private key (FileZilla converts it if needed).
  6. Click Verbinden (Connect). On the first connection FileZilla asks whether you trust the server – confirm.
  7. You see the server on the right. Open public_html and drag files from left to right.

FTP accounts are handy when somebody else – such as a web designer – should upload files without knowing your SSH key or your web panel password. On WordPress Starter, which has no SSH, FTP is the way for larger uploads besides the file manager.

  1. In the web panel, open the website and the section for FTP accounts (under Advanced).
  2. Create a new account with its own username and a strong password. If possible, restrict it to the folder that is needed.
  3. In FileZilla, connect with protocol FTP, port 21 and encryption Require explicit FTP over TLS. Unencrypted FTP sends your password in plain text.
  4. Delete the account when the work is done.

When moving from another server, rsync over SSH is the fastest way. On your computer or the old server:

Terminal window
# Transfer the contents of the local folder "website" to public_html
rsync -avz --progress website/ USERNAME@SERVER:public_html/

The slash after website/ means: transfer the contents, not the folder itself. With --dry-run you see beforehand what would happen.

Typical permissions for websites: folders 755, files 644, and wp-config.php preferably 600 or 640. Permissions like 777 are never needed and are a security risk. What the numbers mean and how to change them is explained in File and folder permissions.

Via SSH, you set the default permissions for a folder like this:

Terminal window
cd ~/public_html
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

FileZilla reports “Authentication failed” or “Connection refused”.

Section titled “FileZilla reports “Authentication failed” or “Connection refused”.”

Check the username and server from the web panel, the protocol (SFTP on port 22, or FTP with TLS on port 21) and whether the public key is stored in the web panel. In FileZilla, the private key must be selected.

I uploaded the files but still see the old site.

Section titled “I uploaded the files but still see the old site.”

Are the files directly in public_html (not in a subfolder)? Is the home page called index.html or index.php? Also clear the browser cache and, if applicable, the cache of your CMS.

Can I create cron jobs over SSH with crontab -e?

Section titled “Can I create cron jobs over SSH with crontab -e?”

No. You create cron jobs in the web panel under Advanced → Developer tools.