如何卸载/重新安装cygwin以使用sshd?


17

我安装cygwin / sshd效果不好。我删除了c:\ cygwin目录以重新安装。我手动删除了sshd Administrator用户。

我再次重新安装了cygwin,然后运行“ ssh-host-config -y”。奇怪的是,它对结交新用户一无所求。而且过程真的很短。

$ ssh-host-config -y
 *查询:是否覆盖现有的/ etc / ssh_config文件?(是/否)是
 信息:创建默认的/ etc / ssh_config文件
查询:是否覆盖现有的/ etc / sshd_config文件?(是/否)是
 信息:创建默认的/ etc / sshd_config文件
 信息:从OpenSSH 3.3开始,默认情况下权限分离设置为yes。
 信息:但是,这需要一个名为“ sshd”的非特权帐户。
 信息:有关特权分离的更多信息,请阅读/ usr / share / doc / openssh
ME.privsep。
*查询:是否应使用特权分离?(是/否)是
***信息:更新/ etc / sshd_config文件

***信息:主机配置完成。玩得开心!

当我运行“ cygrunsrv -S sshd”时,出现错误。“ Win 32错误1069:由于登录失败,服务未启动”。这是合理的消息,因为我以用户身份删除了sshd,而重新安装过程对此又没有执行任何操作。

我看到卸载有问题。

问:如何完美卸载与sshd相关的东西,以便可以重新安装?


如果其他所有操作失败:superuser.com/questions/167219/…–
ndemou

Answers:


37

如果系统上先前已经安装了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

请注意,与安装sshd一样,cygwin Shell必须以管理员身份运行。
f.ardelian'3

3
我没有文件/etc/passwd。除此之外,这行得通!
约翰

您说:“#从/ etc / passwd删除任何sshd或相关用户(例如cyg_server)”。但是,然后您说“#从系统中删除任何sshd或后退的用户(例如cyg_server)”这似乎是在重复自己。然后您说了该行下面的net user命令。但是这些命令不会从系统中删除用户。他们删除服务。
barlop

对于系统用户,他指的是Windows PC的用户。对于/ etc / passwd用户,他指的是在此文件中为cygwin Unix-y环境(如果有)定义的用户。“那些命令”确实删除了用户:technet.microsoft.com/zh-cn/library/cc771865
v=ws.11).aspx

4

我必须执行三个步骤才能重新安装它。

  • 删除LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ services \ sshd
  • 运行'sc delete sshd'
  • 重启

问题是我无法从Mac登录cygwin,这正是我尝试重新安装cygwin的确切原因。

我针对这个问题做了另一个话题。-> 我无法从Mac登录cygwin / ssh


快速搜索匹配“ sshd”的键后,我在ControlSet002中找到了我
ndemou

1

看这个链接

https://www.cygwin.com/ml/cygwin/2014-03/msg00315.html

上面链接中有人的建议似乎是一个很好的清单,内容详尽,没有捷径和快捷方式,IIRC对我有用。

从/ etc中删除所有与ssh相关的文件。
删除/ var / empty。
从/ var / log中删除ssh日志。
从SAM中删除sshd和cyg_server帐户。从/ etc / passwd都删除。
删除sshd服务。重来。

注意:如果说“重新开始”,那可能是美国人所说的重新启动,在这种情况下是Windows。它说要删除服务时,您可能需要或想停止该服务,然后再删除它。尽管您可能需要重新启动。(因此,您只能在仍然无法使用时重新启动)。上面写着“ your SAM”的意思是它存储Windows用户-在“计算机管理”中显示-cygwin ssh在其中添加用户,我在其中看到cyg_server和sshd用户,您可以从gui或命令行中删除它们。并重新停止和删除服务,可以使用许多命令。cygrunsrv,sc,net和其中的一些,我还没有看到cygrunsrv的优势。和这个周杰伦认为sc在停止或删除它们方面更可靠,也许是这样。其他答案还介绍了用于停止和删除服务的re命令。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.