SSH on Windows Server 2008
Even in this day in age with hightened security throughout it, Windows Server 2008 still lacks a native SSH server. Luckily though, with open source tools such freeSSHd, we can still get the end result. FreeSSHd even has a built-in SFTP server which makes accessing your remote file securely, surprisingly easy.
Download and install freeSSHd from FreeSSHd.com. The install is pretty straight forward: Run the installer and accept all of the default options. The only exception is to opt to run the SSH server as a service when you are asked.
Add Firewall Rule
A new inbound rule needs to be added to the Windows Firewall in order to allow TCP SSH traffic in on port 22. This can be done either from the Windows Firewall with Advanced Security snap-in or the command line with netsh. The snap-in has a wizard that works great and will walk you through step by step. I prefer the command line with netsh if it’s going to be straight forward with nothing fancy:
netsh advfirewall firewall add rule name="SSH" dir=in action=allow protocol=TCP localport=22
To configure the freeSSHd server, run the freeSSHd application (either desktop or Start menu shortcuts) as administrator. Not running with administrator rights will result in your changes not being saved.
A tray icon will appear, which will allow you to open the freeSSHd settings dialog. Essentially, it’s just a GUI that makes changes to the FreeSSHDService.ini file (C:\Program Files\FreeSSHDService).
Create a user account for yourself. I didn’t have much luck getting NT authentication working as the authorization mode. I think it may have something to do with UAC being turned on on Server 2008. Selecting Password stored as SHA1 hash worked great though.
Once you’ve created your user accounts, among changing other settings, close the dialog to save the changes. To put the changes into effect though, you’ll need to restart the freesshdservice:
net stop freesshdservice net start freesshdservice
That’s it. You should be all set and ready to test your connection with Putty or some other SSH client.