配置SSH,以管理员的身份打开cygwin,运行:
cygrunsrv -S sshd
启动sshd服务
出现问题1:
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062
可能是/var/log的权限设置不正确。首先执行 mkpasswd 和 mkgroup 重新生成权限信息,再删除sshd服务,重新配置
解决办法:
$ mkpasswd -l > /etc/passwd
$ mkgroup -l > /etc/group
$ cygrunsrv -R sshd
$ ssh-host-config -y
$ cygrunsrv -S sshd
出现问题2:
cygrunsrv: Error stopping a service: OpenService: Win32 error 1060
解决办法:
重新安装SSH。
错误3:3534错误,查看日志
Privilege separation user sshd does not exist
方法一(推荐):
修改/etc/passwd文件,在其中加入
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
或者
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
我加入的是:
sshd:x:109:65534::/var/run/sshd:/usr/sbin/nologin
参考
http://www.unixguide.net/comments/sun/ssh_installation.shtml/37.shtml
http://www.gipsky.com/modules/newbb/viewtopic.php?topic_id=966
方法二(不推荐):
修改/etc/ssh/sshd_config文件
将其中
UsePrivilegeSeparation yes
修改为
UsePrivilegeSeparation no
虽然能解决问题,但是降低了ssh的安全级别。
最后利用命令:net start sshd
启动SSHD。