在Windows上正确设置OpenSSH的用户权限?

我想在Windows上设置OpenSSH来提供SFTP站点。 我遇到了用户安全设置的一些问题。

以下是我创build用户的基本步骤:

  1. 在主机上创build一个新用户
  2. 添加用户以调整文件path为cygwin openssh passwd文件指向客户端的主文件夹(例如:/ cygdrive / e / homefolders /用户名)
  3. 允许用户读/写访问他们的文件夹

我遇到的问题是用户需要对OpenSSH程序文件夹具有执行权限才能login。 我发现我可以禁止访问特定的文件夹,如“等”,但我担心我必须在这里提供权限。 当使用FileZilla时,我显示了一个文件夹层次结构“/ cygdrive / e / homefolders / username”,并且可以浏览“/”到具有读权限的文件夹。

有没有一个具体的策略,我应该用这个安装适当的安全? 一个特定的文件或文件夹,我可能需要提供执行权限,但没有更多? 我想完全locking除了自己的文件夹读/写访问权限,但似乎不可能。

你想要多大的SFTP? Cygwin有点不好意思,OpenSSH for Windows的方式已经过时了。 我的方法是使用WebDAV,它可以解决大部分的问题:

  • 读取和写入文件
  • encryption保护authentication令牌和文件
  • 支持每个操作系统附近的该死
  • 过热的防火墙configuration抵抗

IIS甚至在服务器2000附带的版本上也支持它。

经过进一步的研究,我发现我的下面的原始build议使用内置的chrootfunction不支持在cygwin下。

你可能会更好地看待其他的select。 也许是webdav,也许是ftps服务器(filezilla),或者是其他专有的 sftp服务器之一。

如果您必须使用cygwin OpenSSH来执行此操作,则可以使用scponly shell。 这是一个描述程序的pdf 。


不知道你在windows上有哪个版本的openssh。 但是这听起来像你想要设置一个SFTP的chroot。

你可能想看看这些相关的问题。

  • 保护安全的SFTP服务器的文件系统
  • SFTP到chroot和SSHpipe理系统在一个configuration?
  • 如何保证SFTP没有重新编译OpenSSH?

我遇到的问题是用户需要对OpenSSH程序文件夹具有执行权限才能login。 我发现我可以禁止访问特定的文件夹,如“等”,但我担心我必须在这里提供权限。 当使用FileZilla时,我显示了一个文件夹层次结构“/ cygdrive / e / homefolders / username”,并且可以浏览“/”到具有读权限的文件夹。

这是OpenSSH priv-sep设置的一部分。

这个(PDF)是一个关于它和其他OpenSSH安全特性的好文章

总之,主守护进程切换到非特权进程,试图防止程序的其余部分允许“root”访问。

您可能还想使用chroot之类的设置来完全阻止用户访问homedir。

我也想第二个的webdav的build议,即使我已经放弃了它在除了OS X客户端之外的任何其他工作。