无法用非pipe理员用户帐户login到Cygwin sshd服务器

login到运行Cygwin sshd的Windows 2008服务器(DC)时遇到一些困难。 我可以使用属于Domain Admins组的成员的帐户正常login,但是当我使用普通用户帐户尝试时,ssh说“权限被拒绝”。

我跑了mkpasswd -l > /etc/passwd 。 实际上,如果我向Admins组添加一个帐户,它可以login。 但是,从pipe理员组中删除后,再次无法login。

过了很多时间,我终于find了问题的原因。 总之,我的非pipe理员用户的权限被拒绝,因为在DC上,用户组没有“允许本地login”用户权限 。 当sshd尝试将上下文从sshd服务的帐户切换到非特权用户时,操作失败,因为用户没有login本地权限。

为了解决这个问题,我必须编辑默认域控制器策略,为用户组提供本地允许login权限。 这可以在组策略pipe理>(您的域)>组策略对象中find。 用鼠标右键单击编辑。 转到计算机configuration>策略> Windows设置>安全设置>本地策略>用户权限分配。 打开允许本地login并添加用户组(或者,您可能需要创build一个“SSH用户”组,并添加它)。

编辑策略之后,在命令提示符下运行gpupdate以刷新更改,然后您就可以开始了。

这很难,但我终于明白了。

  1. 运行“mkpasswd -l> / etc / passwd”。
  2. 转到该文件,并在记事本++(C:\ Cygwin \ etc …)中打开它。
  3. 在那里,你会注意到账户列表类似于(对于本地账户)机器名+用户名。 (eg-xyz + joe:*:…)
  4. 可以肯定的是,打开PuTTY并尝试连接这整个用户名。 即+。 你应该可以进去
  5. 现在从passwd文件中删除文本,直到machine-name +,然后让它成为用户名。 (例如 – joe:*:…)。
  6. 现在保存并再次尝试连接。

即使这对我有用,它可能不适用于其他人。 我将列出我做过的其他事情,这些事情可能也增加了成功。
1. chmod' passwd和group file到rw。
2.用户应该在pipe理员组中。
3. Cygwin安装目录允许rw访问用户。

我自己也有同样的问题(今天),并认为我已经弄清楚了。 在和其他用户一样使用ssh之前,其他用户必须在cygwin中完全安装。 所以对于我来说,我需要真正以每个非pipe理员用户的身份login到Windows,然后(在同一个Windows会话中)打开一个cygwinterminal(仍然是非pipe理员用户),只需要一秒钟(例如运行“ls”,然后看看你是否不能ssh进入本地主机(“ssh localhost”),只要我打开一个cygwinterminal,它产生了一些初始configuration的细节或任何,从那一刻起,我可以SSH作为非pipe理员用户。希望这可以帮助。