Windows Azure平台中的云端SSH服务器设置

时间:2011-04-11 10:19:35

标签: windows azure

我的客户端一直使用SSH2协议进行文件传输,最近他们决定在云上托管他们的应用程序,他们仍然希望在将文件传输到云存储时使用SSH协议。任何人都可以使用Windows Azure提供有关在云上进行SSH服务器设置的信息吗?

以下是

  • 在云中的VM角色上托管SSH服务器,在这种情况下,同一个云上的其他Web / Worker角色是否可以访问VM角色的本地存储?

  • 是否可以在Azure中的Worker角色中使用.NET组件(Payed / Open Source)托管SSH FTP服务器?如果是,请提供有关市场中可用的.NET组件的信息。

  • 如果Windows Azure中不支持SSH,请告诉我其他云端安全文件传输的替代方法。

我的客户端曾经在封闭网络中运行他们的业务Unix机器,他们通过SFTP执行文件传输到供应商的SSH FTP服务器。

我们正在为他们构建一些云应用程序,这些应用程序要求他们以文件的形式传输数据作为此云(Web角色)应用程序的输入。

要从封闭网络传输文件并使其在云存储上可用,他们坚持要求仍然使用SSH FTP或使用SSH协议执行此操作。

我们已经满足了这一要求,以下是我们向他们提出的解决方案。

请查看并提供有关将文件的SSH FTP执行到云存储的最佳方法的意见/建议/输入。

  • 在云中的VM角色上托管SSH服务器,并在其网络中部署服务以将文件从其网络传输到云。在这种情况下,文件可能会保存到VM角色的文件系统中,我们如何从VM角色中提取文件并将其保存到共享云存储中,以便在云上运行的其他Web角色可以访问这些文件以获取输入

  • 是否可以在Azure中的辅助角色中使用.NET组件(付费/开源)托管SSH FTP服务器?

  • 如果Windows Azure中不支持SSH,请告诉我使用SSH将文件从内部部署传输到云存储的其他替代方法。

4 个答案:

答案 0 :(得分:2)

答案2/3:

  

在云中的VM角色上托管SSH服务器,在这种情况下,同一个云上的其他Web / Worker角色是否可以访问VM角色的本地存储?

不是本地存储,但您可以让他们访问共享云端硬盘 - http://blog.maartenballiauw.be/post/2010/02/02/Using-Windows-Azure-Drive-(aka-X-Drive).aspx - 请注意,只有一个实例可以拥有对此驱动器的写入权限,但很多可以读取。

  

如果Windows Azure中不支持SSH,请告诉我其他云端安全文件传输的替代方法。

使用SSL可以保护blob的实际上传/下载,并通过您的密钥访问您存储的主机。

说实话,我建议使用blob存储来满足此要求。这取决于您要存储的文件/ blob的数量以及您想要更改它们的频率,但整体blob存储非常有用且可用。

有关blob的介绍,请参阅http://blogs.msdn.com/b/jnak/archive/2010/01/11/walkthrough-windows-azure-blob-storage-nov-2009-and-later.aspx


  

是否可以在Azure中的Worker角色中使用.NET组件(Payed / Open Source)托管SSH FTP服务器?如果是,请提供有关市场中可用的.NET组件的信息。

可能 - 但我不知道这个 - http://www.bing.com/search?setmkt=en-GB&q=ssh+ftp+server+c%23

有很多点击

编辑 - 还要查看此主题 - http://forums.iis.net/t/1147827.aspx - 您可以将WinSSHD部署到某个角色吗?

答案 1 :(得分:0)

当然,任何事情都是可能的,但要获得无缝的SSH体验,您需要克服一些基本问题。最大的问题是没有安装SSH - 这就是蛋糕。您必须面对的问题是如何在前面有负载均衡器的情况下跨实例使用它。对于单个实例,运行SSH服务器应该没有问题。所有客户都可轻松连接。一旦有多台服务器运行SSH,如果与实例的连接断开并重新连接到其他实例,则会遇到问题。为SLA原因运行多个实例很好,所以这是一个常见的问题。

现在,RDP(这是一个有状态连接)可以在Windows Azure中运行,因为基于套接字的路由器可以将流量转发到您希望与之通信的单个实例。您可以为SSH做类似的事情。

除了通信问题(假设你使用负载平衡来解决SSH),你需要考虑持久性。当您将某些内容FTP到Windows Azure中时,除非您使用的是驱动器(XDrive),否则它仅在本地保留。您需要考虑将这些文件从VM迁移到永久存储器(如blob存储器)。

所以,长话短说。是的,你可以做到,但做一些工作是正确的。

答案 2 :(得分:0)

我们刚刚使用OpenSSH @在Azure上发布了一个操作方法SSH http://blogs.msdn.com/b/mariok/archive/2011/08/09/command-line-access-to-azure-vms-ssh.aspx

发布包含一个示例包。它将在任何角色类型(Web / Worker / VM)上运行,并可与其他包/应用程序结合使用。

答案 3 :(得分:0)

如果他不确定在实例上使用命令行,他可以考虑安装webmin,这是一个从浏览器运行的优秀应用程序,它可以让你在我想要的linux虚拟实例上以windows方式控制。