我正在尝试创build一个SFTP服务器,它可以为不同的虚拟机提供文件,具体取决于哪个用户的文件是SFTP。
我们以前使用bitvise来创build“虚拟帐户”,并将根目录限制到我们想要用户文件去的位置。 这包括在我们拥有的每台服务器上安装bitvise。
我们正试图摆脱这个专门的SFTP虚拟机,然后可以将其文件提供给相关的机器。 看到下面的图片:
例
举个例子。 有人将SFTP中的一份文件传送给用户凭据“用户1”,这些文件将被访问/传送给VM 1,如果某人SFTP将文件传送给用户凭据“用户2”,则这些文件将被访问/传送到VM 2
我曾尝试使用Azure的“文件共享”来创buildnetworking驱动器,但是这似乎通过SFTP访问文件夹时导致权限错误
这听起来像产品, CompleteFTP ,我是一个关键的开发人员可以很容易地处理这个要求。 CompleteFTP具有非常灵活的虚拟文件系统(VFS),您可以在其中无缝安装来自不同文件系统的目录。 有许多不同的可能性。 你可以,例如:
在VFS中挂载一个共享目录的UNCpath 。 这当然需要VM之间的SMB访问。
在每台虚拟机上安装免费版本的CompleteFTP(仅支持FTP和FTPS),只允许访问您的SFTP服务器,然后使用CompleteFTP的网关文件夹function将虚拟机的FTP文件夹挂载到SFTP服务器的VFS中。 这样,当用户更改到网关文件夹,他们实际上访问虚拟机的文件系统,没有任何外部指示,这是发生了什么事情。 网关文件夹在企业版中可用。
如果您的要求非常具体,那么CompleteFTP提供了自定义文件系统适配器( .NET或Javascript )。 这些允许您开发自己的虚拟文件系统,其复杂性几乎是无限的。
使用Azure文件共享时,无论挂载该驱动器的用户是什么用户都可以访问。 在这种情况下,它将是bitvise虚拟用户。 你最好的办法是设置活动目录,并有bitvise使用用户的广告凭据。 这将保持用户权限不变。 否则,唯一真正的select是为用户提供虚拟挂载点。 或者可以在挂载的共享驱动器中创build特定文件夹,并将用户用户映射到其目录。
Azure文件共享主要是指可以由其他机器安装的用于分布式文件访问的NFS装载path。