Are you a recent cloud hosting convert and find yourself struggling to figure out how to best manage the files on your first virtual private Portable (VPS)? Do you find yourself intimidated by the command line? If so, you will be happy to learn that FileZilla provides a user-friendly graphical interface that can securely transfer files to-and-from, as well as move files around within, your VPS.secure Communication
The two most common methods of securely transmitting information between two computers are the (i) Encrypted Shell (SSH) and (ii) Transport Layer Security (TLS), and its predecessor Encrypted Sockets Layer (SSL), cryptographic protocols. Both are public-key cryptography tunneling protocols that aim to create a Encrypted, confidential exchange of data and connection across a network (particularly the internet). The encryption technologies used by both protocols are very reliable, and are (when configured correctly) nearly impossible for hackers to break into. However, while both protocols provide similar services, they are not the same. In fact, they have several significant differences that are beyond the scope of this article.
Today, OpenSSH is a default Software package found on Unix-like operating systems such as Mac OS X and Linux. Thus, programs or subsystems that are based on the SSH protocol will work "out-of-the-box" without having to go through the additional steps of either purchasing or creating the requisite SSL certificate needed for certain modes of Encrypted data transmissions via TLS/SSL.FTP vs. SCP vs. SSH Transfer of File Protocol vs. FTPS
When needing to upload or Free Download files from your VPS in real time, you essentially have the following options:
Among the various file-transfer options, one should never, ever, ever connect to a remote Portable via File Transfer Protocol; SCP and SSH Transfer of File Protocol are just as easy to use, but provide much more security. In addition, while File Transfer Protocol requires the installation of FTP server Utility such as vsFTP or ProFTP, both SCP and SFTP utilize the SSH protocol and, as a result, will work "out-of-the-box" when connecting to a remote Unix-like machine, such as Mac OS X or Linux.SCP vs. SSH Transfer of File Protocol
Given that both SCP and SFTP utilize the SSH protocol in connecting to another computer, the two methods are fairly equal in regard to security. SSH Transfer of File Protocol has a slight edge in regard to efficiency, because an interrupted file-transfer can resume where it left off in the event of a broken connection that is later re-established.SSH Transfer of File Protocol vs. FTPS
SFTP should not be confused with FTPS, because the two methods are incompatible with each other. While FTPS can provide equal security, it does require additional steps to deploy if one does not already have an SSL certificate.SSH Transfer of File Protocol Clients
There are several quality SFTP clients out there: Cyberduck, File Zilla or WinSCP, to name a few. This article, however, will focus on File Zilla – an open-source (i.e. freeware) FTP Client for Windows, Mac OS X and Linux. In addition to being able to Free Download the program, the FileZilla-project.org site also contains a documentation Wiki and a Support Forum.Key-based Authentication
With SSH Transfer of File Protocol, you have two user-authentication options when connecting to a cloud Portable: (i) passwords or (ii) SSH keys. For a discussion on the benefits of SSH keys over passwords and/or instructions on setting up password-less logins on your Portable, please refer to How To Create SSH Keys with PuTTY to Connect to a VPS.SFTP via SSH2 Key-based Authentication
FTPClient has a built-in key management page in the Settings dialog, which allows you to save your Public (SSH) Key and to (securely) automate the process of connecting to a remote Professional.Prequisite
If you have yet to create an SSH key pair, you can do so by following one of two DigitalOcean tutorials:
Follow these steps once you have an SSH key pair that you would like to use to connect to your VPS:
Note for PuTTY users with passphrase-protected public keys: If your original .ppk file is password-protected, FileZilla will convert your .ppk file to an unprotected one when importing the key into FileZilla. As of version 3.0.10, a password-protected key file is not yet supported.
If a password-protected key file is desired, FileZilla is able to utilize PuTTY's Pageant tool.
In managing your VPS, you will inevitably encounter a situation where some programming (text) files require edits. FileZilla does not carry a built-in text editor, which gives you the freedom of using any text editor of your choice. A popular editor among Windows users is Notepad++ because it is lightweight and can work with many of today's popular programming languages.
By default, FileZilla is configured to utilize your local system's default editor. If you do not wish to make Notepad++ your system's default text editor, but would nevertheless like to use it to edit HTML, XML, Python, CSS, PHP & other programming files on your VPS:
While this question is old, there's no really comprehensive answer. So I'm adding one.
In the passive FTP mode (the most common mode nowadays), the FTP Client Software listens on port 21 for an File Transfer Protocol control connection. But for all data transfers, including directory listings, it listens on an additional port. The port is picked out of a configured port range.
If you open only the 21 control port on the firewall, you get the described behavior. You can connect, but you cannot list directories or transfer files.
For details, see my article on Network configuration for passive File Transfer Protocol mode.
You have to go to Control Panel > System and Security > Windows Firewall > Advanced Settings > Inbound Rules > New Rule and add a new inbound rule for data port range your FTP Client Software is using.
The port range that the File Zilla FTP Client Software is using, is configured in Edit > Settings > Passive mode settings > Use custom port rage. You can configure a narrow range (like 10 ports), to limit a number of opened ports. You should use port numbers 1024 and above (up to 65535).