← Back to list

Journey to Root: Log #003 — Remote File Transfer with WinSCP or FileZilla

Hey everyone! If you have experience working with cloud platforms or remote machines, you’ve probably felt the frustration of trying to…

Robert · 2025-12-24 07:55 · 0 claps · 7.8 min read
#sftp #winscp #filezilla #filezilla-ftp-client #putty
Open on Medium ↗
Wiki topics: FT · Fine-tuning & Adaptation 🔧 · Data Engineering

Journey to Root: Log #003 — Remote File Transfer with WinSCP or FileZilla

Generated with Gemini AI

Generated with Gemini AI

Hey everyone! If you have experience working with cloud platforms or remote machines, you’ve probably felt the frustration of trying to copy files from a remote server to your local machine. In this post, I’ll show you how to do exactly that.

We’ll demonstrate file transfer using SFTP (Secure File Transfer Protocol) with two different tools. They are independent of each other, so you only need to choose the one that works best for you. Without further ado, let’s dive in.

1. Using WinSCP

“WinSCP is a popular SFTP and FTP client for Microsoft Windows,” quoted from the official site. As the name suggests, WinSCP stands for Windows Secure Copy. Before we begin, make sure you have WinSCP installed. PuTTYgen comes bundled with WinSCP in the default installation, so you only need to download WinSCP. You can get it here.

Step 1: Generate an SSH Key Pair

First, we need to generate an SSH key pair. You can do this in one of two ways.

Option 1:

You can use the ssh-keygen command, for example:

ssh-keygen -t rsa -b 4096 -C “your_comment”

This command will generate an SSH key pair with RSA algorithm and 4,096 bits.

After running this command, a new key pair will be created in: C:\Users\USERNAME.ssh

C:\Users\ACER\.ssh

C:\Users\ACER.ssh

Option 2 (preferred if using Windows and WinSCP):

The other option is to use PuTTYgen to generate the key pair. This is preferred if you are using Windows and WinSCP (or other PuTTY apps) because the private key is generated in .ppk format (PuTTY private key).

To generate the key pairs using PuTTYgen, first open the PuTTYgen app.

Enter the following parameters, then click “Generate”.

You will be prompted to move your mouse to generate some randomness.

After the progress bar is full, the SSH key pair is generated. You can edit the comment and add key passphrase to add a layer of security to the private key.

Generated key pair

Generated key pair

To save the public key, click “Save public key”.

Saving the private key as rsa_key_pair

Saving the private key as rsa_key_pair

And to save the private key, click “Save private key”. Add .ppk at the end of the private key file name if you want the private key and public key to have the same filename. This is to prevent the file name conflict.

Saving the private key as rsa_key_pair_2.ppk

Saving the private key as rsa_key_pair_2.ppk

Step 2: Add the Public Key to Your Cloud Service

Next, add the public key (NOT private key) to your cloud provider. In this demo, I’ll be using Dewacloud as the cloud platform, but the steps should be similar for most cloud services. Adjust this part according to the provider you are using.

First, open the public key file with a text editor.

Open the public key file

Open the public key file

Select all the content, then copy.

Select all the public key content and copy

Select all the public key content and copy

Go to your cloud platform. Search for options like “SSH Access” and “Add Public Key”.

Open your cloud platform and search for SSH Access and Add Public Key

Open your cloud platform and search for SSH Access and Add Public Key

Add a name for the public key, then paste the public key you have copied earlier. Click the “Add” button.

Add a name for your public key, then paste the public key you have copied earlier, then click Add

Add a name for your public key, then paste the public key you have copied earlier, then click Add

The new SSH key has been successfully added to the cloud platform.

Step 3: Initiate SFTP Connection (using WinSCP)

(If you are using FileZilla, you can skip this section and go to the FileZilla section.) In this step, we will initiate a SFTP connection to enable file transfer between our local/host computer to the cloud platform machine. First, open the WinSCP app. Select “New Site”.

Then, enter your cloud identities such as Host name, User name, and Port number. You can find this identity from your cloud platform at the SSH Access section.

SSH Access identity from Cloud Platform

SSH Access identity from Cloud Platform

Enter the SSH Access identity to WinSCP

Enter the SSH Access identity to WinSCP

You might be wondering why the password section is left blank. It is because we are not using username/password for the authentication. Instead, we are using a key authentication. To use key authentication in WinSCP, open the “Advanced” option.

Open “SSH > Authentication”, then click on the three dots at the Private key file section.

Locate the private key we have just created in step 2, then click “Open”.

If you are using an OpenSSH private key format (Step 1, Option 1), you might not be able to find the private key when browsing. This is because WinSCP defaults to only show .ppk files.

To show the private keys that are not in PuTTY Private Key format, you can choose All Files (.) option.

After selecting the private key, you will be prompted to convert the private key format to PuTTY Private Key format (.ppk). This is required as WinSCP only works with PuTTY Private Key format. Click OK.

After everything is completed, you can initiate the connection by clicking the “Login” button. Optionally, before login, you can choose to save the session information in case you want to connect to the same remote machine again later. To save the session information, click the “Save” button.

Change the Site name (if needed), then click “OK”.

The session information is successfully added. Later when you want to connect using the same session information, you don’t need to enter everything manually, you can click the saved session and it load will load automatically.

Click “Login” to initialize the connection to cloud platform.

It will show the following dialog. Wait until the connection is established.

Waiting for the connection to establish

Waiting for the connection to establish

Voilà, we have successfully connected to the remote platform.

Step 4: Testing the File Transfer

To transfer files between machine, you only need to drag-and-drop the files. For example, I will copy file /README.md from the cloud to my local machine. I then select the file drag it across to my local machine, then drop it. The following dialog will show. Click “OK”.

And the file is successfully transfered.

For transferring multiple files, you can select all the files you want to transfer, then using the same drag-and-drop method to transfer it. This also works when you are trying to transfer file from your local machine to the cloud platform.

Additional: You can actually start an SSH via PuTTY directly from WinSCP. Click the “Open Session in PuTTY” icon or use the shortcut “Ctrl + P”.

The new SSH session window will open.

To close the connection, click the X button.

2. Using FileZilla

“FileZilla®, the free FTP solution,” quoted from the official site. FileZilla can act as both an FTP Client and FTP Server. In this demo, we will be using FileZilla Client. Before we begin, make sure you have FileZilla Client installed. You can get it here.

The Step 1 (Generate an SSH Key Pair) and Step 2 (Add the Public Key to Your Cloud Service) are the same as when using WinSCP.

Step 3: Initiate SFTP Connection (using FileZilla)

First, open the FileZilla app. The following window should show.

To create a session that uses Key Authentication, open “File > Site Manager” or use the shortcut “Ctrl + S”.

The following window will show. Then, select “New Site”.

Add a site name, then on the right section, change the Protocol to SFTP. Enter the cloud identity you from your cloud platform, usually located in “SSH Access” section. The Logon type should be changed to “Key file” for Key Authentication. After all the information is correct, click “Connect”.

SSH Information from cloud platform

SSH Information from cloud platform

Setting up the session information

Setting up the session information

Connection success!

Step 4: Testing the File Transfer

Just like WinSCP, to transfer files between machine, you only need to drag-and-drop the files. For example, I will copy file /var/lib/nginx/.bash_history from the cloud to my local machine. I then select the file drag it across to my local machine, then drop it.

Voilà, we have successfully transferred a file from remote platform to our local machine!

You can use the same drag-and-drop method to transfer file from local machine to cloud.

To terminate the connection, click on the “Disconnects from the current visible server” icon.

So, that’s the demo. Now, moving files between remote cloud server and local machine is just a piece of cake. See you in the next post!

Path to root,

  • Um9iZXJ0

메타데이터
post_id
4b2c3254bf3b
slug
journey-to-root-log-003-remote-file-transfer-with-winscp-or-filezilla-4b2c3254bf3b
url
https://medium.com/@robertradja68/journey-to-root-log-003-remote-file-transfer-with-winscp-or-filezilla-4b2c3254bf3b
canonical_url
https://medium.com/@robertradja68/journey-to-root-log-003-remote-file-transfer-with-winscp-or-filezilla-4b2c3254bf3b
author_url
https://medium.com/@robertradja68
status
ok
fetched_at
2026-06-29 22:44:20