【问题标题】:SSH Server setup on Cloud in Windows Azure PlatformSSH 服务器在 Windows Azure 平台上的云端设置
【发布时间】:2011-04-11 10:19:34
【问题描述】:

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

以下是

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

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

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

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

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

为了从他们的封闭网络传输文件并使它们在云存储上可用,他们坚持认为他们仍然希望使用 SSH FTP 或使用 SSH 协议来执行此操作。

我们对这个要求碰壁了,下面是我们向他们提出的解决方案。

请查看并提供有关将文件通过 SSH FTP 传输到云存储的最佳方法的 cmets/建议/输入。

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

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

  • 如果 Windows Azure 中不支持 SSH,请告诉我使用 SSH 将文件从本地传输到云存储的其他安全文件传输替代方案。

【问题讨论】:

标签: windows azure


【解决方案1】:

3 选 2 的答案:

在云中的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 组件(付费/开源)托管 SSH FTP 服务器?如果是,请提供有关 Market 中可用的 .NET 组件的信息。

可能 - 但我对此一无所知 - http://www.bing.com/search?setmkt=en-GB&q=ssh+ftp+server+c%23 的点击率很高

编辑 - 也可以查看这个帖子 - http://forums.iis.net/t/1147827.aspx - 你可以将 WinSSHD 部署到一个角色吗?

【讨论】:

    【解决方案2】:

    当然,一切皆有可能,但您需要克服一些基本问题才能获得无缝的 SSH 体验。最大的问题是没有安装 SSH - 这就是蛋糕。您必须面对的问题是,当您前面有负载均衡器时,如何跨实例使用它。对于单个实例,运行 SSH 服务器应该没有问题。所有客户端都将轻松连接。一旦您有多个运行 SSH 的服务器,如果与实例的连接被切断并且您重新连接到不同的实例,您就会遇到问题。出于 SLA 原因运行多个实例很好,因此这是一个常见问题。

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

    除了通信问题(假设您使用负载平衡来解决 SSH),您还需要考虑持久性。当您将某些内容通过 FTP 传输到 Windows Azure 时,除非您使用的是驱动器 (XDrive),否则它只会在本地保存。您需要考虑将这些文件从 VM 中移出并移至 Blob 存储等永久存储中。

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-01-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-12
          • 2010-12-15
          相关资源
          最近更新 更多