我是Linux的粉丝,但由于Linux中的英特尔无线驱动程序不好,我不得不切换到Windows 7.我在Windows中安装了Cygwin,并希望配置SSH以远程连接到我的笔记本电脑。
我使用Google搜索并找到information for installing openssh server on Win 7,但在运行ssh-host-config
时出现以下错误:
bala@bala-PC ~ $ ssh-host-config yes *** Info: Creating default /etc/ssh_config file *** Query: Overwrite existing /etc/sshd_config file? (yes/no) yes *** Info: Creating default /etc/sshd_config file *** Info: Privilege separation is set to yes by default since OpenSSH 3.3. *** Info: However, this requires a non-privileged account called 'sshd'. *** Info: For more info on privilege separation read /usr/share/doc/openssh/READ ME.privsep. *** Query: Should privilege separation be used? (yes/no) no *** Info: Updating /etc/sshd_config file *** Warning: The following functions require administrator privileges! *** Query: Do you want to install sshd as a service? *** Query: (Say "no" if it is already installed as a service) (yes/no) yes *** Query: Enter the value of CYGWIN for the daemon: [] *** Info: On Windows Server 2003, Windows Vista, and above, the *** Info: SYSTEM account cannot setuid to other users -- a capability *** Info: sshd requires. You need to have or to create a privileged *** Info: account. This script will help you do so. *** Warning: The owner and the Administrators need *** Warning: to have .w. permission to /var/run. *** Warning: Here are the current permissions and ACLS: *** Warning: drwxr-xr-x 1 bala None 0 2010-01-17 22:34 /var/run *** Warning: # file: /var/run *** Warning: # owner: bala *** Warning: # group: None *** Warning: user::rwx *** Warning: group::r-x *** Warning: other:r-x *** Warning: mask:rwx *** Warning: *** Warning: Please change the user and/or group ownership, *** Warning: permissions, or ACLs of /var/run. *** ERROR: Problem with /var/run directory. Exiting.
此文件夹的权限显示为只读(仅适用于此文件夹),灰色检查。我试图取消选中但在我再次打开属性后,再次检查该框。有没有办法更改此文件夹的权限?
答案 0 :(得分:8)
很抱歉打破这么老的帖子,但是当我搜索这个特定的问题时,这个问题总是出现。
几个月后,我终于找到了解决方案。当我设置cygwin时,我没有在cygwin中正确创建我的用户和组帐户。执行此操作的主要方法是运行:
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
如果您使用域用户和passwd登录,则可以执行以下操作:
mkpasswd -l -d > /etc/passwd
mkgroup -l -d > /etc/group
或者,如果你有一个像我一样非常大的网络,你可能不会那么想。另一种方法是只使用您的本地用户和组加上您当前登录的任何一个:
mkpasswd -l > /etc/passwd
mkpasswd -c >> /etc/passwd
mkgroup -l > /etc/group
mkgroup -c >> /etc/group
在我这样做之后,我终于能够正确运行ssh-host-config来创建服务。
答案 1 :(得分:5)
我在Windows 7 x64和sshd上运行cygwin 1.7。我不记得在运行sshd_config时遇到此错误,但我只是查看了我的/ var / run目录,并将其设置为777.
在cygwin shell中chmod 777 /var/run
答案 2 :(得分:4)
我自己也遇到了很多麻烦。我发现默认安装步骤可以正常工作,前提是我:
完成这些步骤后,默认安装步骤为:
之后,Windows 7 Professional和Home都可以正常运行。
如果您已经安装了失败的Cygwin sshd,最好是进行完全卸载并重新开始。
如果您需要,请参阅以下Cygwin卸载说明:http://cygwin.com/faq/faq.html#faq.setup.uninstall-all
答案 3 :(得分:3)
我首先要删除已损坏的安装:
cygrunsrv --remove sshd
rm -rf /var/log/sshd* /etc/ssh_host* /etc/sshd_config /var/empty
然后生成passwd&如上所述的小组:
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
然后我跑了:
ssh-host-config -y
cygrunsrv --start sshd
最后,“setuid failed”消息消失,登录工作。
答案 4 :(得分:2)
在cygwin shell中,请确保您是管理员:
takeown /F "C:\cygwin" /R
icacls "C:\cygwin" /grant Everyone:\(F\) /T
icacls "C:\cygwin"
chmod 777 -R "c:\cygwin"
答案 5 :(得分:1)
在Windows资源管理器中,对于文件夹/var
:
属性。
安全。
添加具有完全控制权限的组管理员 文件夹和子文件夹。
它对我有用。
答案 6 :(得分:0)
当我在类型为NTFS的硬盘驱动器上安装Cygwin时,我只能成功运行ssh-host-config脚本。当我在exFAT类型的闪存驱动器上安装了Cygwin时,ssh-host-config脚本无效。
答案 7 :(得分:0)
我遇到了同样的问题。我相信,我的问题是因为我有一个自定义/ etc / fstab文件,我在那里用" noacl"安装根文件夹。选项。以下是我解决问题的方法:
将自定义/ etc / fstab移开:
mv /etc/fstab /etc/fstab.bak
或者,您可以编辑/ etc / fstab文件并删除noacl选项。
关闭所有Cygwin bash窗口和任何其他Cygwin进程或服务。如果您正在运行任何Cygwin进程,它将使用旧的/ etc / fstab设置保持挂载。
启动一个新的Cygwin bash窗口。
您可能需要运行以下命令。
chmod +r /etc/passwd
chmod o+x /var
chmod +w /var/run
用手指交叉,运行ssh-host-config,它现在应该没有错误地完成。
如果您在步骤1中移动了/ etc / fstab,则可以立即将其移回:
mv /etc/fstab.bak /etc/fstab
如果您在首次安装Cygwin后创建了新用户,请更新/ etc / passwd,否则这些用户可能无法通过ssh登录:
mkpasswd -l > /etc/passwd
此外,转到Windows防火墙,并允许C:/cygwin/usr/sbin/sshd.exe和C:/cygwin/usr/sbin/sftp-server.exe
答案 8 :(得分:0)