Install SSH secure shell server for Windows XP Professional

To access a Windows machine from within your LAN or even from outside your house, setting up a SSH server is a good security measure. Like for Linux clients, it is then possible to connect with a RSA private key which is only known to the connecting client, and traffic can be routed through a secure tunnel.

There are several commercial packages available, the OpenSSH solution is based on CygWin, and there is a free product called freeSSHd which you can download at http://www.freesshd.com/. I use freeSSHd in my environment, but the security considerations and setup recommendations would also be applicable to other SSH solutions.

Install the SSH server

Download and install the software package. Select to install the SSH server as Windows service. Before you can setup the service with a RSA private/public keypair, you need to generate the keys with PuTTY. I tried several other keypair generators including the one included in Ubuntu's ssh application, but none of the others worked for me. Please refer to the next paragraph for instructions how to setup the keypair.

Generate the SSH-RSA keypair

First of all, you need to get PuTTY installed from any client machine you want to use to access the SSH server. I use the portable version of PuTTY which stores all data in a file within it's directory structure, so it can easily be copied to a USB stick or another machine and retains all the settings. It is recommendable to also store the keys in it's own directory, so you can easily protect the PuTTYPortable directory from access by others. Download PuTTY Portable at http://portableapps.com/apps/internet/putty_portable

Next, you need to download PuTTY's key generator at http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. This small program will generate a new private / public key pair. Once the keypair is generated, copy and paste the public key displayed in the PuTTYgen program window into a textfile opened with Windows' notepad (not wordpad!) and save it to this textfile. freeSSHd will not work with the public key file generated by PuTTYgen, only with the public key saved into the textfile!

Next, copy this textfile under the name <user name> without file extension to a folder within the freeSSHd program install directory, e.g. C:\Program Files\freeSSHd\authorized_keys\<user name>.