---
title: "Establishing an SFTP Connection"
canonical_url: "https://www.zone.lv/help/kb/establishing-an-sftp-connection/"
post_type: "ht_kb"
published: "2024-03-12T17:01:09+00:00"
modified: "2024-04-23T11:27:34+00:00"
language: "en"
author: "martti"
taxonomies:
  ht_kb_category:
    - name: "SSH / Shell"
      url: "https://www.zone.lv/help/kb-categories/ssh-shell-en/"
    - name: "Technical"
      url: "https://www.zone.lv/help/kb-categories/technical-en/"
  ht_kb_tag:
    - name: "filezilla"
      url: "https://www.zone.lv/help/kb-tags/filezilla-en/"
    - name: "sftp"
      url: "https://www.zone.lv/help/kb-tags/sftp-en/"
    - name: "SSH"
      url: "https://www.zone.lv/help/kb-tags/ssh/"
    - name: "vs code"
      url: "https://www.zone.lv/help/kb-tags/vs-code-en/"
    - name: "winscp"
      url: "https://www.zone.lv/help/kb-tags/winscp-en/"
---

# Establishing an SFTP Connection

SFTP, abbreviation of SSH File Transfer Protocol (also know as Secure File Transfer Protocol), is a network protocol for securely accessing and transferring files from the server.
SFTP is an extension of SSH and authentication is done using a public-private key pair.

## SSH Key Pair

First you need to create an SSH key pair and add its public key to your web server.
Instructions for this can be found in the following help article:
[Establishing an SSH connection](https://www.zone.lv/help/en/kb/establishing-an-ssh-connection/)

## Establishing a Connection

This help article provides instructions for establishing an SFTP connection using programs FileZilla, WinSCP and Visual Studio Code.
For additional questions or if you are using a different program, refer to the program’s documentation and support materials (usually found under the Help menu in the program).

 Connection Parameters To establish an SFTP connection, you need to know the web server’s IP address and the system username.
Both can be found on the Web hosting management page in My Zone, choosing from the menu:
Webhosting &gt; System Information: `IP address` and `System username`.

### FileZilla

Open `Site Manager` (1).
Add a new connection by clicking on the `New site` button in the ` Site Manager dialog` Site Manager dialog (2) and giving it a name (e.g., domain name) (3).
From the `Protocol` dropdown menu, select `SFTP` (4). You can leave the `Port` field empty since the default port 22 is used.
In the `Host` field, enter the IP address of the hosting server or the domain name of the web server hosted on that server (5). It is recommended to use the IP address to avoid any potential DNS issues with the domain.
For `Logon Type`, select `Key file` from the dropdown menu (6). Supported private key formats include PEM and PuTTY’s PPK. If Pageant is used for loading the private key, select `Interactive`, in which case you don’t need to specify the location of the private key on the computer.
Enter the system username into `User` textbox (7).
For `Key file`, select the private key file from your computer, which corresponding public key has been added to the web server through My Zone (8).
Save the SFTP connection configuration by clicking on the `OK` button (9).
Now the SFTP connection for the web server is configured and can be used to log in by clicking on the `Connect` button.

![FileZilla SFTP ühenduse seaded.](https://www.zone.lv/static/sites/5/sftp_filezilla_01.png)

### WinSCP

Open the Login dialog window by clicking on the tab `New tab` (1).
To add a new connection, click on `New site` (2).
Select `SFTP` from the `File protocol` drop-down menu (3).
Into the `Host name` textbox enter the IP address of the hosting server or the domain name of the web server hosted on that server (4). It is recommended to use the IP address to avoid possible DNS issues with the domain. The `Port number` is 22.
Enter the system username into the `User name` textbox (5). Leave the Password textbox empty because key pair authentication is used.
Open more settings by clicking the `Advanced` button (6).
In the opened dialog box, select from menu tree: `SSH` &gt; `Authentication` (7).
WinSCP only supports private keys in Putty format (with the file extension .PPK).
If Pageant is used to load the private key, mark the `Attempt authentication using Pageant` selected (8).
Or specify the location of the private key file on the computer using the `Private key file` selection box (9).
Save the changes by clicking `OK` (10).
Save the site by clicking `Save` button (11), giving it a name.
Now you can establish an SFTP connection by selecting the site from the list on the left and clicking `Login` button (12).

![WinSCP SFTP ühenduse seaded](https://www.zone.lv/static/sites/5/sftp_winscp_01.png)

### Visual Studio Code

There are various SFTP extensions available for Visual Studio Code. In this guide, the following SFTP extension is used:
[Visual Studio Marketplace – SFTP](https://marketplace.visualstudio.com/items?itemName=Natizyskunk.sftp)
[Github.com – vscode-sftp](https://github.com/Natizyskunk/vscode-sftp)

Open the Visual Studio Code extensions tab (1) and search for extensions using the keyword `SFTP` (2) and then install the extension which is highlighted on the image by clicking the `Install` button next to it (3).

![Visual Studio Code - SFTP laienduse paigaldamine](https://www.zone.lv/static/sites/5/sftp_vscode_01.png)

If another SFTP extension is installed, its configuration and functionality may differ, but the connection parameters are the same. Follow the extension’s documentation for setting up.

In the Visual Studio Code’s Explorer tab, open the folder or workspace where you want to synchronize files with the web server or where you want to download files from the web server – an SFTP configuration file named `sftp.json` will be created then into folder named `.vscode`.
Open the `command palette` (with the key combination Ctrl + Shift + P) and type `SFTP: Config` (1) in the search box and press Enter, which will create the SFTP configuration file `sftp.json` and open it for configuration.

![Visual Studio Code - SFTP laienduse seaded](https://www.zone.lv/static/sites/5/sftp_vscode_02.png)

 Explanations of parameters in the sftp.json configuration file**name**: name for the SFTP connection configuration by which it can be recognized
**host**: IP address or domain name of the web server
**username**: system username
**privateKeyPath**: location of the private key on the computer
**passphrase**: “true” if the private key is password-protected, otherwise “null” or leave this parameter out
**sshConfigPath**: location of the OpenSSH configuration file “config” on the computer, by default located in the “.ssh” folder of the user’s home directory
**agent**: name of the agent if it is used for private key loading (read documentation if using something other than Pageant)
**remotePath**: home directory as a full path to the server’s directory that is opened after connection is established

For the rest of the settings, read the documentation.

**Three different configurations for the file sftp.json, depending on how the private key is loaded**

sftp.json configuration for direct private key loading:

```
{
    "name": "example.com - SFTP",
    "host": "217.146.69.1",
    "protocol": "sftp",
    "port": 22,
    "username": "virt1234",
    "privateKeyPath": "~/.ssh/id_ed25519_example.com",
    "passphrase": true,
    "openSsh": false,
    "uploadOnSave": false
}
```

sftp.json configuration using [SSH config](https://linux.die.net/man/5/ssh_config) file:

```
{
    "name": "example.com - SFTP",
    "host": "217.146.69.1",
    "protocol": "sftp",
    "port": 22,
    "username": "virt1234",
    "sshConfigPath": "~/.ssh/config",
    "uploadOnSave": false
}
```

sftp.json configuration when using an agent:

```
{
    "name": "example.com - SFTP",
    "host": "217.146.69.1",
    "protocol": "sftp",
    "port": 22,
    "username": "virt1234",
    "agent": "pageant",
    "remotePath": "/data01/virt1234/domeenid/www.example.com",
    "uploadOnSave": false
}
```
