Forum Moderators: phranque
2. IMO, the "best" FTP client is the Linux "sftp" command-line program. With it, you can create scripts to automate most of your file-moving tasks.
3. The next best (or maybe even better, so maybe I lied when I said sftp is the best...) are various FUSE file systems for Linux. These allow you to mount remote directories so that they appear as local directories. You can then use any local tool that works with files - file managers, shell commands such as "cp", "mv", etc. Heck, even open remote files in an editor.
sshfs would be the most commonly-used FUSE filesystem for this purpose. It allows you to mount your server's files as a local directory, using sftp as the transport mechanism.
There are also fuseftp and curlftpfs for doing the same thing with FTP, but note my comments on FTP security above.
Windows users just don't know what they are missing!
I use sshfs myself. Each of my sites simply appears on my local Linux box as a directory.
That said, there are Windows programs that work in a similar manner, but their integration is more clunky, and most are commercial programs that you will have to buy.
There are several other interesting/amusing FUSE filesystems available for Linux that address other needs:
GmailFS: makes your gmail appear as a local directory
ElasticDrive: Mount Amazon S3 storage
iPodDisk: Mount an iPod
WikipediaFS: you guessed it - Wikipedia (or any MediaWiki-based Wiki) as a local directory! Open a Wikipedia article in your editor. Yes, you can even edit and save an article.
well, i use FTP, not sFTP, also the server i transfer to is a Linux.
If the server you are transferring-to is a dedicated machine, a VPS, or a shared server where you have shell access, then you *can* use sFTP, and I'd recommend it over FTP. You probably don't have to install anything, as the necessary software is probably already installed on your server.
The problem with FTP is that passwords are passed in the clear. If you are forced to use FTP, change your password often!
with sFTP, both the password and data are sent encrypted.
As for FileZilla - you do not need to install the FileZilla server on your server. It works with any FTP or sFTP server.
- Traditional FTP client, with it's own built-in file manager window. A good one will let you select files to transfer, and build a list of files/directories to transfer but defer the transfer until you are done selecting files. Then it does the queued transfers. Some can transfer more than 1 file at a time.
- Mapping remote files to a directory off of the local file system. Allows you to work with familiar tools - any file manager, command-line tools, editors, etc. Nothing like this approach for a quick edit. Simply open any HTML page directly in your HTML editor. The downside is the inability to queue files for transfer or do more than one transfer at a time, unless your OS's (or third-party) file manager inherently supports this.
what about about WS_FTP pro , when we are also talking security
Any of the above are insecure, if you are using the FTP protocol. No software can make the FTP protocol secure.
Most "ftp" clients today also support sftp, which is secure. (That is, both passwords and data are encrypted during transmission.)
You might use it if you want to upload a file to a public server, and have only the intended recipient be able to decode the file.
It simply adds PGP capability to WS_FTP, so that you don't have to use a separate program.
It's not a substitute for using a secure transfer protocol, such as sftp.
If you transfer a PCP-encrypted file over the standard FTP protocol, your login ID and password are still exposed.
There's a lot of confusion over FTP security, and I try to clarify it when I can here:
- FTP is insecure and obsolete. Nobody should use FTP unless they absolutely have to. FTP has hung-on well past it's useful lifetime.
- Unfortunately, many shared web hosts still use FTP for file transfer. If you have no other choice, make sure you change your password often, as FTP passwords are sent over the net as clear text. You are particularly vulnerable if you transfer files from public Internet cafes, WiFi, etc.
- If you are on a dedicated server, a VPS, or a shared host that allows you to access a Linux shell, you almost certainly have a better, secure alternative available - it's called sftp.
- Technically, sftp is an add-on service to another secure service called ssh. ssh stands for "secure shell". It's a substitute for telnet, which, like FTP, is insecure and obsolete. In fact, MOST hosts today do not enable telnet access to shells, because it is so dangerous. (More so than FTP, because it gives access to an interactive shell.) If you have ssh support on your server, you almost certainly have sftp support.
- Most "FTP client" software today also supports sftp.
sftp and ssh both have two methods for authenticating you. You can use passwords, or you can use key pairs. The advantage of using key pairs is that you don't have to remember a password or be bothered with a password prompt. There is a trust relationship between the client and the server - they "know" and recognize each other.
- If you are running Linux on your desktop, you really don't need an FTP client or any other kind of file transfer client. The command-line "sftp" command does a bang-up job for free any without any further software installation, and can be scripted.
- If you are running Linux on your desktop, and you want to get fancy, you can use the sshfs fuse filesystem to remotely mount your site(s) onto a local mount point on your desktop. You can then use ANY program that can access files on the local file system - for example, your favorite HTML editor - to access the files on your server. As far as your applications are concerned, the files on your server "look" like they are local files.
I know that not everyone can/wants to run a Linux desktop. But I encourage you to try it out if you can. A lot of time spent trying to find the ultimate add-on software to do everyday site-maintainence tasks can instead be spent doing productive things with out-of-the-box software...
The side-benefit is no creeping registry rot. There's no registry. :)
- SecureCRT. It's basically a telnet/ssh client, and a very good one at that. But it also does FTP and sftp file transfers.
- Tunnelier. This is a ssh/sftp client which emphasizes ssh's ability to "tunnel" connections. Oh, it does shell sessions and file transfers. But it has another purpose as well - it can securely connect, say, to your MySQL server, behind your your firewall, through an ssh tunnel. (Please don't say your MySQL socket is exposed on the public Internet!)
Actually, most comprehensive FTP/sftp software supports tunneling, buried in some deep menu somewhere. For tunnelier, though, tunneling is it's main purpose for existence.