问题描述
我想使用 cygwin 安装 openssh。我运行了 ssh-host-config
,然后我被引导浏览了一个文本菜单。我输入了我在网页上发现的必须输入的内容,直到我来到这一点: Enter the value of CYGWIN for the daemon: [] binmode ntsec
,在我输入之前不小心按了 Enter 键(是的,笨拙的胖手指)。我不知道 binmode ntsec
的重要性,但我不想冒险,所以我想我只是删除所有内容并重新开始。
然而,再次运行 ssh-host-config
的行为与第一次不同。它跳过了那个查询。然后我删除了整个 cygwin 文件夹并从头开始重新安装,但 ssh-host-config
一直说 Sshd service is already installed
,我没有机会输入这个 binmode ntsec
名称。我找到了一些关于如何完全删除 cygwin 的提示,但似乎有些东西仍然存在,因为 ssh-host-config
从来没有像第一次那样表现。
我有三个问题:
1.) 为什么 ssh-host-config
的行为不像第一次那样,即使我删除并重新安装了 cygwin?它必须在 cygwin 文件夹之外有内存吗?
2.) 'CYGWIN 的值' = binmode ntsec
存储在哪个配置文件中?
3.) 它的意义是什么?
解决方法
您可能正在阅读一个太旧的建议。
sshd 使用不需要在 CYGWIN 变量中设置这些参数
https://cygwin.com/cygwin-ug-net/using-cygwinenv.html
过时的选项
过去版本中可用的某些 CYGWIN 选项已被删除 随着时间的推移,出于某种原因。列出了这些过时的选项 下面。
(no)binmode - 此选项已被删除,因为所有文件都打开
默认为二进制模式,除非已指定开放模式
在 open(2) 调用中明确显示。
...
(no)ntsec - 此选项已被删除以支持 per-mount
选项“acl”/“noacl”。有关更多信息,请阅读文档
名为“Cygwin Mount Table”的部分。
附加信息:
由于 SSHD 设置为 windows 服务,CYGWIN 变量的值(如果使用)存储在 windows 寄存器中 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cygsshd