ssh-host-config 不起作用,我在创建 sshd 作为服务时收到此错误。我正在运行安装了 cygwin 的 Windows 7 32 位。
在安装 cygwin 后,它一开始是可以工作的。我执行了几次 ssh-host-config。我想确保更改 ssh 和 sshd 的配置,所以我卸载了。不记得是否有错误。我用这些卸载和重新安装时的说明。
我按照说明进行操作这站点,怀疑更改这些目录的权限会搞乱我的系统。在某个地方,不记得在哪里,我看到了一条关于所有权的错误/警告消息,它会搞乱一切。也许这是一个很好的教程,我不知道。
错误如下:
/usr/bin/cygrunsrv: Error installing a service: CreateService: Win32 error 1057
这是 ssh-host-config:
~
$ ssh-host-config -y
*** Query: Overwrite existing /etc/ssh_config file? (yes/no) yes
*** Info: Creating default /etc/ssh_config file
*** Query: Overwrite existing /etc/sshd_config file? (yes/no) yes
*** Info: Creating default /etc/sshd_config file
*** Info: Privilege separation is set to yes by default since OpenSSH 3.3.
*** Info: However, this requires a non-privileged account called 'sshd'.
*** Info: For more info on privilege separation read /usr/share/doc/openssh/README.privsep.
*** Query: Should privilege separation be used? (yes/no) yes
*** Warning: sshd is in /etc/passwd, but the
*** Warning: local machine's SAM does not know about sshd.
*** Warning: Perhaps sshd is a pre-existing domain account.
*** Warning: Continuing, but check if this is ok.
*** Info: Updating /etc/sshd_config file
*** Query: Overwrite existing /etc/inetd.d/sshd-inetd file? (yes/no) yes
*** Info: Creating default /etc/inetd.d/sshd-inetd file
*** Info: Updated /etc/inetd.d/sshd-inetd
*** 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: []
*** 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.
*** Warning: cyg_server is in /etc/passwd, but the local
*** Warning: machine's SAM does not know about cyg_server.
*** Warning: Perhaps cyg_server is a pre-existing domain account.
*** Warning: Continuing, but check if this is ok.
*** 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.
*** Info: Note that creating a new user requires that the current account
*** Info: have Administrator privileges itself.
*** Info: The following privileged accounts were found: 'cyg_server' .
*** Info: This script plans to use 'cyg_server'.
*** Info: 'cyg_server' will only be used by registered services.
*** Query: Please enter the password for user 'cyg_server':
*** Query: Reenter:
*** Query: Please enter the password for user 'cyg_server':
*** Query: Reenter:
/usr/bin/cygrunsrv: Error installing a service: CreateService: Win32 error 1057:
The account name is invalid or does not exist, or the password is invalid for the account name specified.
*** ERROR: Installing sshd as a service failed!
*** Warning: Host configuration exited with 1 errors or warnings!
*** Warning: Make sure that all problems reported are fixed,
*** Warning: then re-run ssh-host-config.
我尝试重新安装 openssh 和 cygrunsrv,但没有帮助,仍然出现错误。
如何删除 ssh、sshd 和 cygrunsrv 的所有配置文件?如何让 ssh 安装 sshd 作为服务?有什么想法吗?谢谢 Kristjan
答案1
我按照答案中的说明进行操作这线。
摘抄:
For Windows XP.
To remove Cygwin sshd in the cleanest possible way:
Disclaimer
cygrunsrv -E sshd
cygrunsrv -R sshd
delete the folder c:\cygwin and all its sub-folders
remove the Environment Variable CYGWIN
edit the Environment path accordingly
Start...Run... regedit and delete these two registry trees
"HKEY_CURRENT_USER_Software_Cygnus Solutions"
"HKEY_LOCAL_MACHINE_Software_Cygnus Solutions"
Go to Control Panel, Category View, Performance and Maintenance, Administrative Tools, Computer Management.
or click Start...Run...compmgmt.msc
delete the sshd user if it exists in the "System Tools" - "Local Users and Groups" - "Users" section.
EDIT: These steps were originally for XP, and you may need to re-install cygwin afterwards.
清理re-install
了cygwin
现在它已经可以正常工作了。