我在cygwin提示符中输入ssh-host-config
(以管理员权限启动),同意权限分离,新建本地帐户sshd,将sshd作为服务安装;我没有为守护进程输入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/shd.log显示以下内容:
Unable to initialize device PRN
我已经在SO上搜索了与这个问题相关的问题,以及普通的互联网,我想我的问题之所以独特与sshd.log有关。我找不到其他人收到过这个。
我这样做是为了在我的Windows上安装Hadoop。我不能在这台速度很慢的电脑上运行虚拟机,因为一切都很糟糕。
我遵循了本主题中的步骤,但问题仍然存在,然后我检查了sshd日志文件,它抱怨ssh私钥的特权被打开了。
我执行了以下命令:
chmod 400 /etc/ssh_host_ecdsa_key
然后我运行服务:
net start sshd
它终于工作了(顺便说一句:我使用的是Windows8)
我遇到了同样的问题,下面是对我有效的解决方案。
解决方案1
将路径环境变量设置为指向Cygwin-bin目录后,重新启动机器,然后启动服务。
解决方案2
-
首先将运行Cygwin-sshd demon服务的帐户添加到administrators组(默认情况下)
-
转到您的cygwin安装文件夹(我的文件夹位于c:\cygwin64,您的文件夹可能不同)
- 将administrators组添加为完全控制。删除属性
- 删除cygwin安装文件夹的Readonly,以便任何人都可以写入其中
-
以管理员身份运行cygwin终端,并通过键入删除服务
cygrunsrv -R sshd
-
重新启动您的系统
-
以管理员身份运行cygwin终端,然后键入重新安装服务
ssh-host-config -y
-
以管理员身份运行cygwin终端,并通过键入启动服务
net start sshd
您的服务现在正在运行!
我尝试了上面的解决方案,但没有任何效果。我使用的是Windows 8,并且能够解决它。我的sshd日志文件说:"权限分离用户sshd不存在失败"
因此,要在启动sshd作为服务时删除此错误,请执行以下步骤:
-
编辑文件/etc/passwd--
添加"sshd:x:74:74:特权分离的SSH:/var/empty/shd:/sbin/nologin"。 -
编辑文件/etc/group--添加"sshd:x:74:"。
现在以身份启动服务净启动sshd
它对我有用!
按照Andrea解决方案1和解决方案2提供的步骤,它没有工作。事件查看器未提供任何信息。
因此,首先查看日志var/log/sshd.log,它抱怨无法加载dll:
/usr/sbin/sshd.exe: error while loading shared libraries: cygcrypto-1.0.0.dll
解决方案:
- 重新安装程序包并确保dll在库中
再次启动服务仍然失败,但这次它抱怨缺少主机密钥。
无法加载主机密钥:/etc/sshhost_dsa_key无法加载主机密钥:/etc/sshhost_ecdsa_key正在禁用协议版本2。无法加载主机密钥sshd:没有可用的主机密钥--正在退出。
解决方案:
- 转到Cygwin命令提示符(以管理员身份运行),然后
- 输入
ssh-keygen -A
生成了缺少的主机密钥
终于我能够启动它了。
如果上述解决方案不起作用,我建议您进一步查看日志文件。
在我的情况下(使用波兰版本的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 AUTHORITYLocalService,S-1-5-19::
NetworkService:*:20:544:U-NT AUTHORITYNetworkService,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 SERVICETrustedInstaller,S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464::
Administrator:unused:500:513:U-gorditoAdministrator,S-1-5-21-580982140-4090956935-1935414389-500:/home/Administrator:/bin/bash
Guest:unused:501:513:U-gorditoGość,S-1-5-21-580982140-4090956935-1935414389-501:/home/Gość:/bin/bash
Gość:unused:501:513:U-gorditoGość,S-1-5-21-580982140-4090956935-1935414389-501:/home/Gość:/bin/bash
HomeGroupUser$:unused:1004:513:HomeGroupUser$,U-gorditoHomeGroupUser$,S-1-5-21-580982140-4090956935-1935414389-1004:/home/HomeGroupUser$:/bin/bash
sshd:unused:1006:513:sshd privsep,U-gorditosshd,S-1-5-21-580982140-4090956935-1935414389-1006:/var/empty:/bin/false
cyg_server:unused:1007:513:Privileged server,U-gorditocyg_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
所有冒犯sshd的文件,在某种程度上,"ls-la"确实确认了对group和other的删除权限。
最后,安装并启动了具有特权的CYGWIN服务(sshd,cron)