POTM for April: WinSCP

Submitted by Larry on 2 May 2007 - 1:15am

I'm really setting a bad example here, given that I started this thing. Bah.

In my day job, one of the most regular tasks I have, after writing code, is managing code on remote servers. In KDE, that's trivially simple; just open up sftp://myname@server.com/ in a window and you have full access to the remote files with complete network transparency in any application. In Windows, though, I don't have that. So where do I turn? WinSCP.

WinSCP is a GPLed SCP/SFTP client for Windows. SFTP, for those not familiar with it, is a file transfer protocol that is natively tunneled through SSH; effectively it is like FTP but encrypted end-to-end and without the need to open a second port, so it is more firewall-friendly. SFTP has replaced FTP the same way SSH has replaced telnet in the toolbox of anyone who knows anything about network security.

WinSCP is not the only SFTP client for Windows, but it works extremely well. It can handle older SCP connections (version 1 of SFTP, basically) as well as full SFTP, and supports both SSH 1 and SSH 2 (SSH 1 being older and less secure but still used in places). It handles both password-based and key-based authentication. It supports saved sessions for easy login to common sites.

What I really like about it, though, is its shell integration. While it does support the 2-pane "Norton Commander"-style interface, I always use the "Explorer"-style interface. It looks and acts largely like a Windows Explorer window with file tree and icon area. All the usage metaphors are the same. Best of all, it supports full bi-directional drag-and-drop; you can use it just like another explorer window and drop files back and forth to suit your fancy. That alone puts it ahead of Filezilla.

For icing, WinSCP includes a built-in remote text editor. It doesn't have any fancy features like code highlighting or auto-indentation or whatnot, it's essentially a remote Notepad or Nano, but you can save an open file directly back to the server without having to close it (another huge shortcoming of Filezilla). When trying to debug a problem that appears only on a live server (if you've ever run into that, you know how intensely frustrating it is) that ability alone can cut your time in half just by not closing, reopening, and re-scrolling the file ever 10 seconds.

The current version is 3.8.2, but a beta of version 4 has recently been released that supports vanilla FTP as well for cheap shared hosts that don't offer SSH/SFTP (also known as a dying breed that should be euthanized for the good of the Internet). I can't wait!

It's no Konqueror, but WinSCP is now the second program I install on any Windows box, right behind Firefox. For that, it gets the nod as my Project of the Month for April.

PuTTY's great for a simple terminal program, and it's part of my standard "Windows kit", too. (Hm, next month maybe...) WinSCP provides far better file transfer capabilities than anything else I've seen, and it even includes a copy of PuTTY. (I use a separate install personally.) It's really the next best thing to Konqueror for remote file management as far as I've found.