Difference between revisions of "Sshd on Windows"

From Noah.org
Jump to navigationJump to search
 
(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.

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