Secure Shell has a lot to offer. Not only does it allow you to easily administer your Linux servers remotely (by way of the command ssh), it also includes a more secure version of the File Transfer Protocol (FTP). So instead of risking the transfer of files over an insecure means, you can make use of SSH, via sftp.
The sftp command is quite easy. Open up a terminal window and log in with the command ssh USERNAME@IPADDRESS (Where USERNAME is the actual remote username and IPADDRESS is the address of the remote machine). Once logged in, you can then download files onto your local machine with the command get FILENAME (Where FILENAME is the name of the file). You can upload files with the command put FILENAME (Where FILENAME is the name of the file).
But what if you don’t want to work with the command line? Maybe you find the GUI a more efficient tool. If that’s you, you’re in luck, as most Linux file managers (such as GNOME Files, Nautilus, Nemo, Thunar, Dolphin, Pantheon Files, etc) all have built-in support for SSH and its included tools. With that in mind, you can enjoy a GUI sftp experience, without having to install a third-party solution (such as FileZilla).
As you might expect, this is quite easy to pull off. I’m going to demonstrate how to connect to a remote Ubuntu 16.04 server, via the sftp protocol, using both Elementary OS Pantheon Files and GNOME Files (on Ubuntu 17.10).
What you’ll need
Obviously, you’ll need to have a server running openssh-server. You will also need openssh installed on the client machine as well. Fortunately, nearly every single Linux distribution comes with openssh installed by default.
On the off-chance you don’t have these tools installed, they can be added easily. I’ll demonstrate on my platforms of choice. The server-side of things requires the command:
sudo apt install openssh-server
The client side command is:
sudo apt install openssh-client
Once you have everything installed, you’re ready to go.
Making the connection
I’ll demonstrate on Pantheon Files, but the process is similar on most Linux file managers. To make the connection, open up your file manager. Click in the navigation bar and then type sftp://SERVERIP (where SERVERIP is the IP address of the remote server–Figure A).
Hit Enter on your keyboard and you’ll be prompted for the remote user’s SSH login credentials. Once you’ve successfully authenticated, you’ll find yourself in the / directory of the remote machine. Obviously, you can only work within directories in which the user has permission, so navigate into such a directory and you can then use that file manager to copy/paste files to and from the remote server.
If you happen to use Ubuntu, the process is very similar–the difference being you must first click on Other Locations and then enter the remote address at the bottom of the window (Figure B).
The power and flexibility of Linux
You’d be hard-pressed to find a platform more powerful and more flexible than Linux. The SSH toolset is perfect example at how flexible Linux can be. And with the help of a good file manager, you can see how user-friendly that flexibility can be. If you have a need to upload and/or download files to a remote server, do not bother with the less secure FTP protocol, and jump right to SFTP. Your data will thank you.