Steve Frank’s article on Don’t Use FTP has been posted on various social news sites, and I think it is an excellent piece how this 20+ year old protocol should have retired from being the stock standard of transferring files at many web hosting companies. It is not secure (not guaranteed even when FTPS is used), it is a PITA for those setting up firewalls, and it is definitely not the best protocol for developers to automate file transfer. Why many shared hosting companies provide only FTP for file upload is beyond me.

Unless there’s no suitable alternative.

Personally I prefer transferring files over SSH (using either SCP or SFTP). However it too has issues.

  1. SSH usually has smaller buffer for interactive use. Plus overhead on encryption it usually means lower throughput.
  2. Many shared hosting companies are unwilling to provide SSH access due to security concerns.
  3. Setting up per-user jailed SCP/SFTP is not trivial.

For me (3) is the biggest killer. Recently I am setting up file transfer for around 15 friends’ blogs hosted on my server so (1) it authenticates against the WordPress database (2) it chroots to the wwwroot directory. I didn’t have much time so guess what I had done in the end? Pure-FTPd + external auth module written in Python. :(