I recently was setting up a Windows Server 2008 box for a user. Once the box was up and running, I decided to do all of the configuration from the client’s office via MSTSC (standing in a cold server room twiddling my thumbs versus sitting in comfort at a desk). This was all great, except that for all of the dialog boxes popping up in the session came through as that annoying BEEP as a sound card isn’t installed on the server.
Nothing is more annoying (and makes you sound more incompetent) than that beep. Low and behold, a simple way to turn it off: On your local machine (it’s playing the beep, after all), run
net stop beep from the command prompt. (To permanently disable it, run
sc config beep start=disabled).
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.