我需要一些帮助在我的Azure VM实例上设置FTP。
VM是Win Server 2012 R2。我已经设置了Web服务器角色并在IIS中创建了一个FTP站点。我已确认可以使用
访问FTP服务器ftp command: open localhost
我还为配置用于标准端口21的Azure门户上的VM配置了FTP端点。
最后,我已经打开了一个防火墙规则,允许所有流量进出端口21。
现在,当我尝试从家用机器FTP到它时,我可以看到服务器公共DNS名称正在解析为正确的IP和端口,但是无法建立连接。
我错过了某处的配置步骤吗?
由于
答案 0 :(得分:62)
2012年7月Hosting FTP on IIS 7.5 in a Windows Azure VM'Ronald Wildenberg'对此进行了一次精彩的演练。David's answer他回应Windows Azure Powershell cmdlets。这是他经历的阶段:
ftp 127.0.0.1
并登录%windir%\system32\inetsrv
中找到:appcmd set config /section:system.ftpServer/firewallSupport /lowDataChannelPort:7000 /highDataChannelPort:7014
Get-AzureVM -ServiceName 'myServiceName' -Name 'ftpportal' | Add-AzureEndpoint -Name 'FTPPassive00' -Protocol 'TCP' -LocalPort 7000 -PublicPort 7000 | Update-AzureVM
其中'myServiceName'是我的云服务的名称,'ftpportal'是其名称我的虚拟机。netsh advfirewall set global StatefulFtp enable
net stop ftpsvc
net start ftpsvc
值得遵循这些步骤Active FTP vs. Passive FTP, a Definitive Explanation,尤其是因为他为每个步骤提供了有用的屏幕截图,但我认为值得在这里广泛引用。文章还提到the steps above did not fix it for me值得一读。
如果我能按照这些步骤报告您的基于Azure VM的FTP服务器将正常工作并且可访问,那将是非常棒的。但不幸的是{{3}}: - (
答案 1 :(得分:7)
如果您不介意使用FileZilla FTP Server,
这就是我所做的,启用与我的VM的FTP连接。
m
希望它有所帮助。
干杯
答案 2 :(得分:3)
在用上面的15点列表分散一段时间之后,我收到了MS试图通过的消息 - “没有(简单)FTP给你”...
所以我回到了古老的&打开Linux世界 - 使用Cygwin设置SCP服务器。 你甚至可以获得一个远程shell作为奖励...
1)运行Cygwin安装程序 - https://cygwin.com/setup-x86.exe
2)在“选择包”中搜索
3)完成后,启动Cygwin终端,然后输入:
ssh-host-config -y -pwd S0me-Str0ng-pa55w0rd
cygrunsrv -S sshd
4)从Azure VM添加SSH端点
5)在Windows FireWall中,为TCP端口22添加入站规则
中提琴 - 当然可以使用WinSCP,Notepad ++和Putty进行连接......
注意:
答案 3 :(得分:1)
您需要添加一个额外的端口范围,ftp服务器将为每个ftp连接选择。
您需要创建一堆输入端点,每个端点代表指定端口范围中的一个端口。请注意,您具有有限数量的输入端点(不确定确切的数字,但您应该可以轻松地打开,例如,连续端口中的50个输入端点)。然后只需设置ftp服务器即可使用相同的范围。此外,您还希望将输入端点公共端口映射到相同的专用端口号,否则将无法正确创建连接。
答案 4 :(得分:1)
dumbledad's answer中的链接目前无法使用。按照那里的步骤,我仍然遇到在新的Azure VM上运行被动FTP的问题。
经过一番搜索后,我发现了这篇文章Passive FTP and dynamic ports。这是一个很棒的演练,它提供了一个简单的脚本,可以从您的VM运行,以便在一分钟内启动并运行FTP。如果您要设置多个VM,则脚本是设置FTP访问的更快捷方式,而不是手动配置IIS和Azure端点。