首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Azure VM上设置FTP

问如何在Azure VM上设置FTP
EN

Stack Overflow用户
提问于 2013-08-24 19:37:35
回答 5查看 74K关注 0票数 43

我需要一些帮助在我的Azure VM实例上设置FTP。

VM是Windows 2012 R2。我已经设置了Web角色,并在IIS中创建了一个FTP站点。我已经确认我可以用

代码语言:javascript
复制
ftp command: open localhost

我还为标准端口21配置了Azure Portal上VM的FTP端点。

最后,我创建了一个防火墙规则,允许所有进出端口21的通信量。

现在,当我尝试从我的主计算机到它的FTP时,我可以看到服务器公共DNS名称解析到正确的IP和端口,但是无法连接。

我是不是遗漏了配置步骤?

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-09-10 08:05:58

有一个很好的演练从2012年7月的'在中的IIS 7.5上承载FTP‘由罗纳德·威尔登伯格关于这一点。他回响大卫的回答。这些都是他经历的阶段:

  1. 首先,您需要一个虚拟机。我需要一台带有Server数据库的Windows机器,所以我从可用的模板中选择了“Microsoft 2012评估版”。
  2. 一旦机器启动,您就可以通过管理门户底部的connect选项进入RDP。
  3. 当您进入时,您需要配置IIS。所需步骤的摘要:
    • 将“Web server (IIS)”角色添加到服务器。
    • 添加所需的IIS功能。
    • 在具有公共和私有端口80的管理门户中将TCP端点添加到VM中。

​

  1. 若要启用FTP,请确保为IIS角色启用“FTP Server”角色服务:
  2. 下一步是在IIS中创建实际的FTP站点。右键单击IIS管理器中的“站点”并选择“添加FTP站点…”。
  3. 指定站点的名称和本地路径:
  4. 指定绑定和SSL信息:
  5. 最后,指定谁应该访问FTP站点。
  6. 您现在应该能够从VM中访问FTP站点了。打开命令提示符,键入ftp 127.0.0.1并登录
  7. 对于活动FTP,您需要允许访问端口21 (FTP命令端口)和20 (FTP数据端口),因此您需要在VM中添加两个端点
  8. 配置被动FTP。为此,我们需要告诉IIS FTP服务器它可以用于数据连接的端口范围,并且我们需要向VM添加与此端口范围相对应的端点。
  9. 为被动数据连接配置端口范围和外部IP地址。这可以在IIS管理器中找到。
  10. 外部IP地址应该是您可以在Azure Management门户中找到的虚拟IP地址。
  11. 如果无法在IIS中指定数据通道端口范围,请使用appcmd实用程序,可以在%windir%\system32\inetsrv:appcmd set config /section:system.ftpServer/firewallSupport /lowDataChannelPort:7000 /highDataChannelPort:7014中找到
  12. 您可以在Azure门户中指定所有15个新端点,但这需要很长时间才能使用Windows Azure Powershell cmdlet。
  13. 下载发布设置文件。一种方法是启动Windows并使用cmdlet‘’。它打开浏览器并允许您下载与Windows对应的发布设置文件。
  14. 下载发布设置文件后,可以使用“”cmdlet导入它,我们可以开始添加端点了。
  15. 我只是创建了一个文本文件,其中包含我想要运行的命令列表,并将其复制到Powershell窗口中:Get-AzureVM -ServiceName 'myServiceName' -Name 'ftpportal' | Add-AzureEndpoint -Name 'FTPPassive00' -Protocol 'TCP' -LocalPort 7000 -PublicPort 7000 | Update-AzureVM,其中'myServiceName‘是我的云服务的名称,'ftpportal’是我的虚拟机的名称。
  16. 虽然Windows防火墙似乎允许所有所需的流量,但您还需要在防火墙上启用有状态FTP过滤:netsh advfirewall set global StatefulFtp enable
  17. 重新启动FTP服务,我们应该启动并运行:
    • net stop ftpsvc
    • net start ftpsvc

​

遵循这些步骤是值得的,在原文章中不仅因为他为每个步骤都提供了有用的屏幕截图,而且我认为它值得在这里大量引用。这篇文章还提到主动FTP和被动FTP,一个明确的解释值得一读。

如果我能够报告,在遵循这些步骤之后,您的基于Azure VM的FTP服务器将能够正常工作并可访问,这将是非常棒的。但不幸的是上面的步骤并没有为我修复它。 :-(

票数 66
EN

Stack Overflow用户

发布于 2015-10-28 17:43:20

如果您不介意使用FileZilla FTP服务器,

下面是我所做的工作,以启用到VM的FTP连接。

  1. 转到Azure (manage.windowsazure.com),并添加两个端点:
    1. 名称: FTP (协议TCP,公共端口21,专用端口21)
    2. 名称: FTP被动(协议TCP,公共端口60000,专用端口60000)

  2. 返回到VM (通过RDP),打开端口21的连接,以及Windows防火墙入站规则上的60000。
  3. 下载并打开FileZilla服务器。
  4. 单击“编辑->用户”并根据需要添加用户和共享目录。
  5. 单击“编辑->设置”。在侧栏上单击被动模式设置。
  6. 选中“使用自定义端口范围”并输入60000 - 60000。
  7. 在ip4specific部件上,选择单选按钮“使用以下ip",然后输入xxxx.cloudapp.net。
  8. 保存并运行服务器。就这样,您现在可以从VM之外连接到FTP。

希望它能帮到别人。

干杯

票数 10
EN

Stack Overflow用户

发布于 2014-08-31 19:58:21

经过一段时间与上面的十五分名单,我得到的消息MS正试图传递-“不(容易) FTP为您”.

于是我回到了一个古老的开放Linux世界--用Cygwin建立了一个SCP服务器。你甚至可以得到一个远程外壳作为奖励..。

1)运行Cygwin安装程序- https://cygwin.com/setup-x86.exe

2)在“选择软件包”中搜索

  • cygrunsrv (选择“Admin”下的一个)
  • openssh (选择“Net”下的选项)

3)完成后,启动Cygwin终端,并键入:

  • ssh-host-config -y -pwd S0me-Str0ng-pa55w0rd
  • cygrunsrv -S单抗

4)在Azure VM中添加一个SSH端点

5)在FireWall中,为TCP端口22添加入站规则

中提琴-你当然可以用WinSCP,Notepad++和Putty连接.

备注:

  • Unix是区分大小写的,所以在正确的情况下键入您的用户,例如带有大写字母A的Administrator
  • 您的驱动器位于/cygdrive (c:\ is at /cygdrive/c等)

祝好运!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18422391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档