Ssh – Why could it be that the FreeSSHd service is running on Windows Server yet I cannot connect from the client machine

freesshdsshwindows-server-2003

FreeSSHd is installed on Windows Server 2003, not on the C: drive but on another drive, D:. When I command-prompt to the D: drive and type in ssh, it tells me ssh is not recognised.

I added myself as a user to FreeSSHd with a hashed password and enabled SSH.

The Windows Firewall service is not running.

I can connect to the server using Remote Desktop Connection. I want to use ssh with Mercurial source code management system.

While I am logged onto the server via Remote Desktop connection, I can also connect to the server via ssh and putty on the client machine.

As soon as I log off from the server via Remote Desktop Connection, and I type in on the client:

ssh <username>@<server>

I get:

ssh: Connect to host <server> port 22: Connection refused

Best Answer

Resurrecting an old thread, I know, but I have some new information. The answer is actually that the service and the front end appear to run independently, with their own ini file. The service runs as LocalSystem by default, but when you run the front end (on Windows 7 at least) it saves the settings in your profile directory tree, so the service never reads it.

Solution for me was to copy the FreeSSHDService.ini file from the following location over the top of the one in the Program Files folder:

C:\users\<my username>\AppData\Local\VirtualStore\Program Files (x86)\freeSSHd\

Restart the service and then you can log out. But as Mattijs has pointed out, it still seems to fall over occasionally, and the other downside is that each time you need to make a config change, you either have to manually edit the ini file or recopy it after editing via the UI. Too bad it's not supported any longer, it's still an immensely useful tool.