如何使用Cygwin在Windows上运行OpenSSH SSHD服务器

时间:2022-10-17 20:12:52

记录几款非常有趣, 但不怎么耳熟的软件:

如何使用Cygwin在Windows上运行OpenSSH SSHD服务器

如何使用Cygwin在Windows上运行OpenSSH SSHD服务器

如何使用Cygwin在Windows上运行OpenSSH SSHD服务器

Cygwin 是可以安装 OpenSSH server 和 client 的, Mosh 也可以, 这对于 Linux 用户而言就非常方便了.

如何使用Cygwin在Windows上运行OpenSSH SSHD服务器

http://www.noah.org/ssh/cygwin-sshd.html

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 priviledge 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

Finished

Bugs

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

Hope that helps!

OpenSSH server 安装后是一个叫 CYGWIN sshd 的服务, 如果启动失败, 需要更改为本地登录.