The easiest way to get Emacs Tramp Mode to play nicely with Windows and secure ssh connections

The easiest way is to go “under” Emac’s head and not bother with Tramp at all..

The currently distributed version of Tramp (2.0.x) has a design flaw wherein it assumes that ports are designated with a “-p” switch.  If you’re running Emacs on Windows, however, you will probably want to use Putty’s <code>plink</code> command instead of an command line ssh client.  Problem is plink uses a capitalized “-P” to indicate the port.  Urgh.  (Supposedly this is fixed in Tramp 2.1.x..)

Rather than muck around with this, consider tools that map the remote connection such that it appears local.  The well done open source app WinSCP does a pretty good job of this, though is a bit clunky in the way it syncs up its temporary cache.  South River Technologies’ WedDrive, however, is practically seamless.  Well worth the $60 for a one year license.

Remote Desktop over SSH

For a simple and free (and fairly standard!) way to secure your remote desktop sessions — and without having to figure out the crazy, proprietary Microsoft security stuff — take a look at copSSH. copSSH uses a streamlined Cygwin client to setup an SSH sever on your Windows box.

I’ve recently been using copSSH and PuTTY‘s Pageant authentication agent to tunnel RDP through PuTTY/copSSH SSH connections. Works like a charm.

One gotcha: copSSH doesn’t clean-up after itself well. Consider running taskkill from time-to-time.

C:\WINDOWS\Taskkill /F /IM bash.exe /T

Or if you prefer bashing:

$ kill -9 ps | grep ^I.*bash$ | cut -c2-9

Accrue more than 64 zombied PTYs and you’ll find yourself locked out of the server.