cygwin sshd服务启动不了的解决方案(转)

问题起源:

BTS PC机(windows)无法通过pscp命令去Wireshark PC机(windows)拷贝日志. 出错日志:network error:connection refused.

(我的问题就是ssh: connect to host localhost port 22: Connection refused,通过方法一解决)

原因分析:

pscp用于linux机和win机的命令拷贝,且需要linux机安装ssh服务. -->在Wireshark机上安装ssh --> ssh存在于linux机里-->在Wireshark机安装cygwin + ssh.

#---------------------Cygwin服务自启动不成功---------------------------------------

解决过程中,cygwin服务自启动不了:

Q: cygrunsrv -S sshd不能启动,报告

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

A: 很可能是/var/log的权限设置不正确。首先执行 mkpasswd 和 mkgroup 重新生成权限信息,再删除sshd服务,重新配置:

$ mkpasswd -l > /etc/passwd
$ mkgroup -l > /etc/group
$ cygrunsrv -R sshd
$ ssh-host-config -y
$ cygrunsrv -S sshd

Q:试了以上方法,重启电脑,还是无法启动sshd。还是出现这个错误:
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062:
The service has not been started.
还是起不来,尼玛太顽固了>.<!!!

除了以上所说的,还有一个可能是cygwin1.dll冲突了。

在Windows事件查看器里(My Computer->right click->Manage->System Tools->Event Viewer->Application)看到以下信息:

事件 ID ( 0 )的描述(在资源( sshd )中)无法找到。本地计算机可能没有必要的注册信息或消息 DLL 文件来从远端计算机显示消息。您可能可以使用 /AUXSOURCE= 标识来检索词描述;查看帮助和支持以了解详细信息。下列信息是事件的一部分: sshd: PID 2124: `sshd' service started.

A:1.删掉整个安装好的cygrun文件夹,比如C:cygwin这个文件夹.

2.重启电脑.

3.重装cygrun.

参考http://www.187299.com/archives/794, 感谢原作者. 非常详细非常好的"XP下通过cygwin架设SSH服务"资料.

==================================================

作者: Panderen

博客: http://panderen.cnblogs.com

签名: 机会总是为有准备的人而准备的!

原文地址:https://www.cnblogs.com/panderen/p/2756817.html