26

我进入ssh-host-configcygwin提示符(以admin权限启动),说yes to privilege分离,新建本地账号sshd,安装sshd as a service;我没有为守护进程输入 CYGWIN 的值;我输入了 no 以使用不同的名称;是的,用于创建新的特权用户帐户。

在我的services.msc我无法启动服务:

The CYGWIN sshd service on Local Computer started and then stopped. 
Some services stop automatically if they are not in use by other services
or programs.

在 cygwin 提示符下,net start sshd产生:

The CYGWIN sshd service could not be started. 
The service did not report an error.
More help is available by typing NET HELPMSG 3534

在 cygwin 提示符下,cygrunsrv -S sshd产生:

cygrunsrv: Error starting a service: QueryServiceStatus:  Win32 error 1062:
The service has not been started.

我的 /var/log/sshd.log 说以下内容:

Unable to initialize device PRN

我已经搜索了与此问题相关的 SO 问题以及一般 Internet,我想是什么让我的问题与众不同与 sshd.log 有关。我找不到其他收到这个的人。

我这样做是为了在我的 Windows 上安装 Hadoop。我无法在这台速度慢的计算机上运行虚拟机,因为一切都陷入了困境。

4

5 回答 5

19

我按照本主题中的步骤进行操作,但问题仍然存在,然后我检查了 sshd 日志文件,它抱怨 ssh 私钥的权限要打开。

我执行了以下命令:

chmod 400 /etc/ssh_host_ecdsa_key

然后我运行服务:

net start sshd

它终于奏效了(顺便说一句:我使用的是 Windows 8)

于 2013-12-14T05:55:51.553 回答
16

我遇到了同样的问题,这是对我有用的解决方案。

解决方案 1

设置路径环境变量指向Cygwin bin目录后重启机器,然后启动服务。

解决方案 2

  1. 首先将运行 Cygwin sshd 恶魔服务的账户添加到管理员组(这是默认的)

  2. 转到您的 cygwin 安装文件夹(我的位于 c:\cygwin64,您的可能不同)

    • 添加管理员组作为完全控制。删除属性
    • 为您的 cygwin 安装文件夹删除只读,以便任何人都可以写入它
  3. 以管理员身份运行 cygwin 终端并通过键入删除该服务

    cygrunsrv -R sshd
    
  4. 重新启动系统

  5. 以管理员身份运行 cygwin 终端并通过键入重新安装服务

    ssh-host-config -y
    
  6. 以管理员身份运行 cygwin 终端并通过键入启动服务

    net start sshd
    

您的服务现在正在运行!

于 2013-12-08T11:58:23.960 回答
5

我尝试了上述解决方案,但对我没有任何帮助。我正在使用 Windows 8 并且能够解决它。我的 sshd.log 文件说:“权限分离用户 sshd 不存在 FAILED”

因此,要在启动 sshd 作为服务时消除此错误,只需按照以下步骤操作:

  1. 编辑文件 /etc/passwd --
    添加“ sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin ”。

  2. 编辑文件 /etc/group -- 添加“sshd:x:74:”。

现在以 net start sshd 启动服务

它对我有用!

于 2014-06-16T11:17:54.457 回答
2

按照 Andrea 解决方案 1 和解决方案 2 提供的步骤,它不起作用。事件查看器未提供任何信息。

所以首先看了一下日志 var/log/sshd.log 它抱怨它无法加载 dll:

/usr/sbin/sshd.exe: error while loading shared libraries: cygcrypto-1.0.0.dll

解决方案:

  • 重新安装软件包并确保 dll 在 lib 中。
  • 再次启动服务仍然失败,但这次它抱怨缺少主机密钥。

    无法加载主机密钥:/etc/ssh_host_dsa_key 无法加载主机密钥:/etc/ssh_host_ecdsa_key 禁用协议版本 2。无法加载主机密钥 sshd:没有可用的主机密钥 -- 正在退出。

解决方案:

  • 转到 Cygwin 命令提示符(使用 run as admin )和
  • 输入ssh-keygen -A
    丢失的主机密钥被生成。

最后我能够启动它。

如果上述解决方案不起作用,我建议进一步查看日志文件。

于 2013-12-19T02:31:02.253 回答
0

就我而言(使用波兰版本的 Windows 8),我必须手动修改 /etc/passwd 和 /etc/group 文件。

Administrator、Administrators、Guest、Guests 等的一些行丢失了,所以我只是插入了它们,并从它们的非英语版本中复制了所有其他字段。例如。

nano   /etc/passwd

SYSTEM:*:18:544:,S-1-5-18::
LocalService:*:19:544:U-NT AUTHORITY\LocalService,S-1-5-19::
NetworkService:*:20:544:U-NT AUTHORITY\NetworkService,S-1-5-20::
Administrators:*:544:544:,S-1-5-32-544::
Administratorzy:*:544:544:,S-1-5-32-544::
TrustedInstaller:*:4294967294:4294967294:U-NT SERVICE\TrustedInstaller,S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464::
Administrator:unused:500:513:U-gordito\Administrator,S-1-5-21-580982140-4090956935-1935414389-500:/home/Administrator:/bin/bash
Guest:unused:501:513:U-gordito\Gość,S-1-5-21-580982140-4090956935-1935414389-501:/home/Gość:/bin/bash
Gość:unused:501:513:U-gordito\Gość,S-1-5-21-580982140-4090956935-1935414389-501:/home/Gość:/bin/bash
HomeGroupUser$:unused:1004:513:HomeGroupUser$,U-gordito\HomeGroupUser$,S-1-5-21-580982140-4090956935-1935414389-1004:/home/HomeGroupUser$:/bin/bash
sshd:unused:1006:513:sshd privsep,U-gordito\sshd,S-1-5-21-580982140-4090956935-1935414389-1006:/var/empty:/bin/false
cyg_server:unused:1007:513:Privileged server,U-gordito\cyg_server,S-1-5-21-580982140-4090956935-1935414389-1007:/var/empty:/bin/false


nano /etc/group

root:S-1-5-32-544:0:
SYSTEM:S-1-5-18:18:
TrustedInstaller:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464:4294967294:
Administrators:S-1-5-32-544:544:
Administratorzy:S-1-5-32-544:544:
Czytelnicy dzienników zdarzeń:S-1-5-32-573:573:
Guests:S-1-5-32-546:546:
Goście:S-1-5-32-546:546:
IIS_IUSRS:S-1-5-32-568:568:
Users:S-1-5-32-545:545:
Users DCOM:S-1-5-32-562:562:
Użytkownicy:S-1-5-32-545:545:
Użytkownicy DCOM:S-1-5-32-562:562:
Użytkownicy dzienników wydajności:S-1-5-32-559:559:
Użytkownicy monitora wydajności:S-1-5-32-558:558:
Użytkownicy zarządzania zdalnego:S-1-5-32-580:580:
HomeUsers:S-1-5-21-580982140-4090956935-1935414389-1003:1003:
TelnetClients:S-1-5-21-580982140-4090956935-1935414389-1005:1005:
WinRMRemoteWMIUsers__:S-1-5-21-580982140-4090956935-1935414389-1000:1000:
None:S-1-5-21-580982140-4090956935-1935414389-513:513:
Brak:S-1-5-21-580982140-4090956935-1935414389-513:513:

只有在此之后,我终于能够以chmod g-rwx“ls -la”确实确认删除组和其他权限的方式来处理所有冒犯 sshd 的文件。

最后,安装并启动特权 CYGWIN 服务(sshd、cron)

于 2014-10-08T14:25:17.333 回答