我安装了 cygwin/sshd,但效果不佳。我删除了 c:\cygwin 目录以重新安装。我手动删除了 sshd 管理员用户。
我重新安装了 cygwin,然后运行“ssh-host-config -y”。奇怪的是,它没有询问有关创建新用户的任何信息。而且这个过程真的很短。
$ ssh-主机配置-y * 查询:覆盖现有的 /etc/ssh_config 文件?(是/否)是 信息:创建默认的 /etc/ssh_config 文件 查询:覆盖现有的 /etc/sshd_config 文件吗?(是/否)是 信息:创建默认的 /etc/sshd_config 文件 信息:自 OpenSSH 3.3 起,权限分离默认设置为是。 信息:但是,这需要一个名为“sshd”的非特权帐户。 信息:有关权限分离的更多信息,请阅读 /usr/share/doc/openssh ME.privsep。 *查询:是否应使用特权分离?(是/否)是 *** 信息:更新 /etc/sshd_config 文件*** 信息:主机配置完成。玩得开心!
当我运行“cygrunsrv -S sshd”时,出现错误。“Win 32 错误 1069:由于登录失败,服务未启动”。这是合理的消息,因为我以用户身份删除了 sshd,而重新安装过程再次没有起到任何作用。
我发现卸载时出了点问题。
Q:如何才能完美卸载sshd相关的东西,以便可以重新安装呢?
答案1
如果系统上先前已安装了 sshd,则在调用 ssh-host-config 之前应执行以下清理过程:
# Remove sshd service
cygrunsrv --stop sshd
cygrunsrv --remove sshd
# Delete any sshd or related users (such as cyg_server) from /etc/passwd
# (use your favorite editor)
# Delete any sshd or related users (such as cyg_server) from the system
net user sshd /delete
net user cyg_server /delete
答案2
我必须执行三个步骤才能重新安装它。
- 删除 LOCAL_MACHINE\SYSTEM\ControlSet001\services\sshd
- 运行“sc delete sshd”
- 重启
问题是我无法从 Mac 登录 cygwin,这正是我尝试重新安装 cygwin 的确切原因。
我又发了一条关于这个问题的帖子。->我无法从 Mac 登录 cygwin/ssh
答案3
正在查看此链接
https://www.cygwin.com/ml/cygwin/2014-03/msg00315.html
上面链接中某人的建议似乎是一个很棒的清单,详尽、没有捷径而且快捷,如果我没记错的话,它对我很有用。
从 /etc 中删除所有与 ssh 相关的文件。
删除 /var/empty。
从 /var/log 中删除 ssh 日志。
从 SAM 中删除 sshd 和 cyg_server 帐户。从 /etc/passwd 中删除这两个帐户。
删除 sshd 服务。重新开始。
注意 - 提到“重新开始”的地方可能是美国人说的重新启动,在本例中指的是 Windows。提到删除服务的地方,您可能需要或想要在删除服务之前停止服务。您可能不需要重新启动,但您可能需要重新启动。(因此,如果它仍然不起作用,您只需重新启动即可)。提到“您的 SAM”的地方意味着它存储 Windows 用户的位置 - 它们显示在“计算机管理”中 - cygwin ssh 在那里添加用户,我在那里看到 cyg_server 和 sshd 用户,您可以从 GUI 或命令行中删除它们。关于停止和删除服务,有许多命令可以做到。cygrunsrv、sc、net,其中,我没有看到 cygrunsrv 有什么优势。还有这个杰伊·盖伊认为 sc 在停止或删除它们方面更可靠,可能是这样。其他答案已经涵盖了有关停止和删除服务的命令。