通过 Cygwin 安装 SSH

通过 Cygwin 安装 SSH

我有一台装有 Windows 8 的笔记本电脑。我正在尝试通过 Cygwin64 设置从这台笔记本电脑到 Windows 2012 服务器的 SSH。

我按照描述的步骤操作这里

但是,当我执行步骤:时ssh-user-config,出现错误:

ERROR: There is no home directory set for you in /etc/passwd.<br>
ERROR: Setting $HOME is not sufficient!

在我的 Cygwin64 安装文件夹中,我看到一个目录 home ,其中的用户是从我登录的 Windows 用户复制的(假设这个用户很漂亮)。

我还看到一个文件cygwin64/etc/passwd- 但在该文件中我的 Windows 用户(nifty)不存在。

我看到的唯一一行是:

[computername]+sshd:*:197610:197121:[computername]\sshd,S-1-5-21-1837826546-2281981055-3577963604-1002:/var/empty:/bin/false

我尝试手动添加 passwd 文件,插入:

nifty:*:1:1:/home/nifty:/bin/bash/

我还尝试添加:

[computername]++sshd:*:1:1::/home/swuyts:/bin/bash

当谷歌搜索时,我唯一想到的就是尝试运行这个命令:

mkpasswd -l -u >> /etc/passwd

我注意到这会添加 Windows 中存在的一些帐户(例如管理员组、系统帐户和上面步骤中创建的 cyg_server),但它并不能帮助我执行 ssh-user-config。

有人可以解释一下如何继续吗?

答案1

这是一个暂时的问题。该ssh-user-config脚本需要修复。

您的“How To Geek”教程与您的体验不符的原因是,最新版本的 Cygwin (1.7.34)在默认安装中取消了/etc/passwd和。/etc/group正如您最终发现的那样,可以重新创建它们,但如果它们不存在,Cygwin DLL 将使用 Windows 本机用户/组数据库:广告如果存在,或萨姆如果不。

该脚本做出了一个过时的假设,即它只能运行/etc/passwdthrough的内容awk来回答问题。

Cygwin 最近得到了一个新程序,其工作方式与 Linux 上的程序类似,抽象了文件、AD 和 SAMgetent(1)之间的差异。/etc该脚本只需要补丁即可使用此工具,而不是解析/etc文件。

正如我们在 Cygwin 邮件列表中所说,正温度系数

答案2

请尝试重新运行setup.exe以更新到openssh-6.7p1-2.这应该可以解决你的问题。

此外,问题的根源(setup.exe第一次安装软件包时选择“上一个”版本而不是当前版本)已得到解决。

相关内容