所以,我在Win7上安装了Cygwin 1.7.17,我使用mkpasswd引入域用户(我的主管理员帐户)。我再次使用mkpasswd引入了我创建的名为“ffftp”的本地帐户。
mkpasswd -d -u administrator > /etc/passwd
mkpasswd -l -u ffftp >> /etc/passwd
我使用mkgroup引入所有必需的窗口组。
我可以输入
$ login
user: ffftp
password: mypassword
然后登录......但它说:
Last login: Tue Apr 16 11:36:49 on pty0
login: no shell: /bin/bash: Operation not permitted
本地用户ffftp只是Windows中的常规“用户”组。
ffftp的SID以S-1-5-21开头。
我已经创建了一个cygwin / home / ffftp
并在Windows中设置其权限。
如果我无法登录该用户,我怎么可能为“ffftp”设置私钥?我错过了什么?
此外,如果有人有关于使用cygwin sshd设置AES加密的指南,我将非常感激。
答案 0 :(得分:2)
以下是我解决错误的方法:
/bin/bash: Operation not permitted
首先,在/etc/passwd
文件中,您创建的本地用户(ffftp)应该有一个与之关联的默认组。
例如,我的本地用户名为sshd_server。与本地用户帐户关联的组ID#为544.它是位于文本之前用于描述本地帐户(特权服务器)的编号。见这里:
sshd_server:unused:1004:544:Privileged server,U-USCHEPMSTGP01\sshd_server,S-1-5-21-2770448234-4262186856-4033879849-1004:/var/empty:/bin/bash
您可以将此组ID#与定义到/etc/group
的组列表进行比较。
Administrators:S-1-5-32-544:544:
Users:S-1-5-32-545:545:
None:S-1-5-21-2770448234-4262186856-4033879849-513:513:
Domain Users:S-1-5-21-329068152-343818398-1801674531-513:10513:
要使我的Cygwin SSH连接正常工作,我必须修改我的/etc/passwd
文件,并将与本地帐户(sshd_server)关联的组更改为与"无关联的组ID#&#。 34;
sshd_server:unused:1004:513:Privileged server,U-USCHEPMSTGP01\sshd_server,S-1-5-21-2770448234-4262186856-4033879849-1004:/var/empty:/bin/bash
通过将/etc/passwd
中的组ID#544(管理员)更改为513(无),此错误已解决。
答案 1 :(得分:0)
我花了很多时间试图解决同样的问题。在这里偶然发现了一个解决方案:
https://cygwin.com/ml/cygwin/2015-08/msg00162.html
在cygwin服务器上:
现在尝试通过ssh连接... 我成功了
答案 2 :(得分:0)
我收到了错误
/bin/bash: Operation not permitted
在将Cygwin从1.7.9版更新到2.9.0版之后连接到sshd。问题的可能原因是缺少"替换进程级令牌"特权" cyg_server"用户。但是,本地管理员的权限不足以在域中的计算机上授予此权限。 我的解决方案(部分):
跑" CYGWIN sshd"域用户帐户下的服务,而不是" cyg_server"。
这允许您仅在此用户下连接到sshd(当您尝试在另一个用户下连接时,会发生错误)。
你也可以回到旧版的Cygwin(例如,1.7.30-1),但这个解决方案没有前途。