How to transfer files using SSH
SSH is a secure protocol used for connecting to remote servers. Its commonly used by system admins to connect to remote servers on the local network or over the internet.

2. Using Filezilla
3. Using SCP
SSH is a secure protocol used for connecting to remote servers. Its commonly used by system admins to connect to remote servers on the local network or over the internet. VPS servers on cloud platforms such as GCP,AWS or Digitaloceans can be connected to using SSH.
Connecting to a remote server via SSH does not offer any graphical user interface (GUI). After logging in to a remote server via SSH you are welcomed by the operating systems terminal. The ability of SSH to only load the terminal is advantageous by making the connection snappy and consuming lesser resources. This is why SSH is the most prefer method for remote connecting to smaller VPS servers and even large VPS servers that do not have GUI running. However the lack of a GUI makes transferring files a nightmare. I mean you can't drag and drop nor copy and paste.
1. Using WinSCP
WinSCP is so far my favorite way to transfer files via SSH. It offers an intuitive user interface for transferring files via SSH. WinSCP has a fairly simple graphical user interface compared to the rest. However winSCP is only available on windows.
WinSCP offers features such as the ability to save remote connection credentials which usually speeds up connecting time as you don't have to always remember login credentials to a remote machine.

The reason WinSCP is the 1st and my favorite it is because of its clean user interface. WinSCP is free and open source.


2. Using Filezilla
Filezilla is mostly used for transferring files using File Transfer Protocol (FTP). Most web administrators use it to upload and download files to and from remote web servers. However, Filezilla does support file transfer via SSH via SFTP.
Filezilla has more features compared to WinSCP however WinSCP has a more simpler user interface.
Like WinSCP, Filezilla offer an option to bookmark remote connections. Filezilla is free and opensource but does offer paid subscription for the pro version.
Filezilla supports MacOS, Windows and Linux.


3. Using SCP
The final way to transfer files is using the SCP command. This is my least favorite as it does not use a GUI, however this is the most robust way. When copying large files using SCP you can't tell the progress.
Syntax:
scp <remote_username>@<Port>:<PathToFileToDownload> <LocalFileDestination>
scp <LocalFileToUpload> <remote_username>@<Port>:<DestinationPath>
- sftp
- rsync
- sshfs
I did not include the guide for the alternative protocols as the methods feel more or less the same with SCP as there is no GUI. Incase you prefer the alternatives you can use those instead of SCP.
Conclusion
Regardless of the option you choose these methods should be sufficient to enable one to transfer files via SSH to and from remote machines. Linux platforms that have Nautilus as the default file manager can access remote machine files on the others tab. I did not include this because not all linux machines have Nautilus as the default file manager.