我是靠谱客的博主 端庄龙猫,最近开发中收集的这篇文章主要介绍sshd由于登录失败而无法启动--cygwin安装过程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在安装cygwin的时候,执行ssh-host-config后显示如下:


木有后面要求输入的内容:

*** Warning: The following functions require administrator privileges!

*** Query: Do you want to install sshd as a service?
*** Query: (Say "no" if it is already installed as a service) (yes/no) yes
*** Query: Enter the value of CYGWIN for the daemon: [] ntsec tty
*** Info: On Windows Server 2003, Windows Vista, and above, the
*** Info: SYSTEM account cannot setuid to other users -- a capability
*** Info: sshd requires.  You need to have or to create a privileged
*** Info: account.  This script will help you do so.

*** Info: You appear to be running Windows XP 64bit, Windows 2003 Server,
*** Info: or later.  On these systems, it's not possible to use the LocalSystem
*** Info: account for services that can change the user id without an
*** Info: explicit password (such as passwordless logins [e.g. public key
*** Info: authentication] via sshd).


*** Info: If you want to enable that functionality, it's required to create
*** Info: a new account with special privileges (unless a similar account
*** Info: already exists). This account is then used to run these special
*** Info: servers.

以上内容均未出现,在执行net start sshd的时候出现以下问题:

发生系统错误 1069。
由于登录失败而无法启动服务。

-- 这是由于用户密码输入错误导致的,以后更改用户后sshd也可能发生这个问题,在 services.msc 里的登录标签里更改用户设置即可!


输入账号和密码,启动过程中报如下错误:


(一)在cygwin上面启动老是报错,说cygwin无法启动,也木有报具体什么原因,那么只有改成administrator登录,再次尝试就ok了~

如果administrator起不了,请看一下是不是22端口已经启动了,查看有木有安装过sshd服务~

很有可能是因为之前的警告信息:


还有一种情况:

换成administrator登录后,还是报错无法启动,那么去/var/log/里面查看一下sshd.log,报错信息如下:

/var/empty must be owned by root and not group or world-writable.

那么只需要执行:

chown administrator:Administrators  /var/empty

再次重启sshd服务就可以正常启动~


另外还有一种情况:

如果虚拟机是部署的,就会出现以下,刚开始启动不了,再次输入cygwin的密码启动,可以启动了,但老是报以下错误:

$ ssh localhost
Administrator@localhost's password:
                                    Last login: Thu Oct 18 18:20:00 2012 from 127.0.0.1
/bin/bash: Operation not permitted
Connection to localhost closed.

如果问题排查都没有问题,最后只能用administrator启动,再修改一下log的权限就ok了~

(二)假如说启动换成administrator后还是无法启动,那么查看一下cygwin sshd服务,看路径对不读,启动报错:

执行net start sshd【或者也可以执行cygrunsrv -S sshd(启动sshd服务)】 后会报:

发生系统错误3

这个时候真的木有招了,网上也找不到答案,但是知道思路了,就是之前安装的已经删除,注册表中保存的还是之前的信息,所以就想着删除服务:

Administrator@localhost~
$ sc delete sshd
[SC] DeleteService 成功
或者:

cygrunsrv -R sshd (删除sshd服务)


重新安装配置:

Administrator@localhost~
$ssh-host-config

这个时候就会正常显示,总共要输入的内容都在下面:

######################################################

chmod +r /etc/passwd
chmod +r /etc/group
rm -rf /var/
ssh-host-config
yes
yes
yes
ntsec tty
yes
cygwin
cygwin
yes
$password
$password


net start sshd
mkpasswd -l >/etc/passwd
mkgroup -l > /etc/group
ssh localhost
yes
$hostpassword

######################################################

注意:

若非ntsec tty格式,后面通过远程登录,可能会提示以下错误:

[Administrator@NXY-2 .ssh]$ ssh 192.168.30.204
Last login: Mon Aug 13 18:17:54 2012 from 192.168.30.172
"tty" option detected in CYGWIN environment variable.
CYGWIN=tty is no longer supported.  Please remove it from your
CYGWIN environment variable and use a terminal emulator like mintty,
xterm, or rxvt.

Administrator@icbc-host-204 ~


#######################################################

##########  如何解决启动过程中乱码问题,不支持中文  ###########

#######################################################

使用ls可以正常查看中文格式的文件名,但是在执行net start sshd的时候就出现以下情况:


查看系统编码:


查看cygwin的编码:

更改一下cygwin的编码格式就ok了~


再次启动就可以正常显示了:


(三)如果通过上诉方法删除sshd服务,但是你去查看服务的时候,还是标注原来的路径,且服务被禁用,这个时候我们就可以修改注册表:

打开HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicessshdImagePath,编辑修改字符串的值【修改成你现在cygwin的执行程序的路径】

在服务中看到的结果如下:


诺,路径已经正确了,可以修改启动类型为自动,然后保存,但是还是报以下错误:


注意:

那个CYGWIN的变量值就是在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicessshdParametersEnvironmentCYGWIN

里面,若要修改直接打开修改值就ok了~

若出现以下问题,可以选择将netsec tty改成提示的mintty试试~

[Administrator@zy ~]$ ssh 172.16.1.137
Administrator@1172.16.1.137's password: 
Last login: Wed Oct 17 17:25:40 2012 from 172.16.1.136
"tty" option detected in CYGWIN environment variable.
CYGWIN=tty is no longer supported.  Please remove it from your
CYGWIN environment variable and use a terminal emulator like mintty,
xterm, or rxvt.


Administrator@zy ~


PS:

可以安装一个syslog软件包,然后远程登录的时候很炫的,哈哈~




最后

以上就是端庄龙猫为你收集整理的sshd由于登录失败而无法启动--cygwin安装过程的全部内容,希望文章能够帮你解决sshd由于登录失败而无法启动--cygwin安装过程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部