Difference between revisions of "Sshd on Windows"
(→Bugs) |
|||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
[[Category:SSH]] | [[Category:SSH]] | ||
− | <b>This is obsolete in newer versions of Cygwin</b> | + | <b>This is obsolete in newer versions of Cygwin, but may come in handy if reconfiguring or in debugging a problem.</b> |
== Cygwin SSHD HowTo -- How to run the OpenSSH SSHD server on Windows using Cygwin == | == Cygwin SSHD HowTo -- How to run the OpenSSH SSHD server on Windows using Cygwin == | ||
Line 38: | Line 38: | ||
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. | 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 == | + | === Win32 error 1062 === |
Sometimes you get a sshd/cygrunsrv service error after trying to run the service. | Sometimes you get a sshd/cygrunsrv service error after trying to run the service. |
Latest revision as of 15:35, 21 April 2008
This is obsolete in newer versions of Cygwin, but may come in handy if reconfiguring or in debugging a problem.
Contents
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.
ssh-host-config -y
This step will create necessary configuration files, a privilege separation user and necessary directories.
When prompted with "CYGWIN=" type for following:
tty ntsec
Now you are ready to start the service.
cygrunsrv -S sshd
Problems
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).
Solution 1
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.
Solution 2
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