Sshd on Windows
This is obsolete in newer versions of Cygwin, but may come in handy if reconfiguring or in debugging a problem.
Cygwin SSHD HowTo -- How to run the OpenSSH SSHD server on Windows using Cygwin
Install the following Cygwin packages (rerun setup if necessary -- you can add packages after you have already installed Cygwin).
Admin --> cygrunsrv Net --> openssh
Open a new bash shell window and run the SSH configure stuff.
This step will create necessary configuration files, a privilege separation user and necessary directories.
When prompted with "CYGWIN=" type for following:
Now you are ready to start the service.
cygrunsrv -S sshd
ssh: Permission denied
Problem: you can't login to your account. You set the password using `passwd`, but it still gives you this error.
Solution: The problem is that sometime Cygwin does not create your local user in the /etc/passwd file. The solution is simple:
mkpasswd.exe -l > /etc/passwd
Now you should see your Windows user in the passwd file. Now use the `passwd` command to give yourself a password for the Cygwin user. This is not the same as the Windows user.
Win32 error 1062
Sometimes you get a sshd/cygrunsrv service error after trying to run the service.
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.
There can be a couple of causes for this. The following may fix the problem (this is not an option on XP Home).
You may have an old or corrupt installation of Cygwin. Try reinstalling. The following may also help:
cygrunsrv -R sshd
REBOOT (or use the Task Manager to kill all instances of sshd that may be running in the background) run "ssh-host-config -y" again. This seemed to help on a few systems I worked on.
Open an explorer window and use the "Properties | Security" dialog and explicitly add "Full Control" for the SYSTEM user to the following directories:
C:\Cygwin C:\Cygwin\var C:\Cygwin\var\log