IIS7 FTP安装 – 在身份validation过程中发生错误。 530结束login失败

我遇到的问题与Windows Server 2008 R2 Standard上的IIS 7.5 FTP IISpipe理器用户login失败(530)非常相似。

我创build了一个FTP站点和IISpipe理器用户,但是login时遇到了问题。我真的可以通过使用IISpipe理器用户而不是创build一个新的系统用户,因为我受到这些帐户的限制。

以下是通过命令提示符进行本地连接时的输出:

C:\Windows\system32>ftp localhost Connected to MYSERVER. 220 Microsoft FTP Service User (MYSERVER:(none)): MyFtpLogin 331 Password required for MyFtpLogin. Password: *** 530-User cannot log in. Win32 error: Logon failure: unknown user name or bad password. Error details: An error occured during the authentication process. 530 End Login failed. 

我已经按照指南在iis 7中configuration了使用iis manager身份validation的ftp,并在IIS 7中将FTP发布添加到了网站中

事情我已经做了检查:

  • FTP服务已安装(与FTP扩展性一起)。
  • 本地服务和networking服务已被授权访问该站点文件夹
  • 权限已被赋予configuration文件
  • 授予FTP根文件夹的读/写权限
  • pipe理服务已安装并正在运行
  • 选中“启用Windows凭据或IISpipe理器凭据”勾选启用远程连接
  • 已将IISpipe理器用户添加到服务器(IIS连接分支中的根连接)
  • 新的FTP站点已被添加
  • IISpipe理器身份validation已添加到FTP身份validation提供程序
  • IISpipe理器用户已被添加到该站点的IISpipe理器权限列表中
  • 在FTP授权规则中增加了用户的读/写权限

以下是与FTP站点相关的applicationHostconfiguration文件的一部分

 <site name="MySite" id="8"> <application path="/" applicationPool="MyAppPool"> <virtualDirectory path="/" physicalPath="D:\Websites\MySite" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:www.mydomain.co.uk" /> <binding protocol="ftp" bindingInformation="*:21:www.mydomain.co.uk" /> </bindings> <ftpServer> <security> <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" /> <authentication> <basicAuthentication enabled="true" /> <customAuthentication> <providers> <add name="IisManagerAuth" enabled="true" /> </providers> </customAuthentication> </authentication> </security> </ftpServer> </site> ... <location path="MySite"> <system.ftpServer> <security> <authorization> <add accessType="Allow" users="MyFtpLogin" permissions="Read, Write" /> </authorization> </security> </system.ftpServer> </location> 

如果我从本地IISpipe理器使用相同的IISpipe理器帐户详细信息连接到站点 (而不是FTP),那么它连接正常,我可以浏览文件和更改设置,因为我会在本地(虽然我似乎没有选项上传文件)。 尝试通过浏览器或FileZilla等通过FTP连接…给我:

 Status: Resolving address of www.mydomain.co.uk Status: Connecting to 123.456.12.123:21... Status: Connection established, waiting for welcome message... Response: 220 Microsoft FTP Service Command: USER MyFtpLogin Response: 331 Password required for MyFtpLogin. Command: PASS ********* Response: 530 User cannot log in. Error: Critical error Error: Could not connect to server 

我已经尝试收集ftp会话的etw 痕迹 ,在日志中我得到一个FailBasicLogon,然后是FailCustomLogon,但没有其他信息:

 FailBasicLogon SessionId={cad26a97-225d-45ba-ab1f-f6acd9046e55} | ErrorCode=0x8007052E StartCustomLogon SessionId={cad26a97-225d-45ba-ab1f-f6acd9046e55} | LogonProvider=IisManagerAuth StartCallProvider SessionId={cad26a97-225d-45ba-ab1f-f6acd9046e55} | provider=IisManagerAuth EndCallProvider SessionId={cad26a97-225d-45ba-ab1f-f6acd9046e55} EndCustomLogon SessionId={cad26a97-225d-45ba-ab1f-f6acd9046e55} FailCustomLogon SessionId={cad26a97-225d-45ba-ab1f-f6acd9046e55} | ErrorCode=0x8007052E FailFtpCommand SessionId={cad26a97-225d-45ba-ab1f-f6acd9046e55} | ReturnValue=0x8007052E | SubStatus=ERROR_DURING_AUTHENTICATION 

在正常的FTP日志,我只是得到:

 2012-10-23 16:13:11 123.456.12.123 - 123.456.12.123 21 ControlChannelOpened - - 0 0 e2d4e935-fb31-4f2c-af79-78d75d47c18e - 2012-10-23 16:13:11 123.456.12.123 - 123.456.12.123 21 USER MyFtpLogin 331 0 0 e2d4e935-fb31-4f2c-af79-78d75d47c18e - 2012-10-23 16:13:11 123.456.12.123 - 123.456.12.123 21 PASS *** 530 1326 41 e2d4e935-fb31-4f2c-af79-78d75d47c18e - 2012-10-23 16:13:11 123.456.12.123 - 123.456.12.123 21 ControlChannelClosed - - 0 0 e2d4e935-fb31-4f2c-af79-78d75d47c18e - 

如果有人有任何想法,我会非常感激听到他们的意见。 非常感谢。

所以在经过许多时间的浪费之后,我用我的灵魂新鲜的眼睛和新的火焰回来了。 看起来我有点太专注于新的FTP站点的设置,并没有注意到其他的影响。

事实certificate,有一个全球性的“默认FTP站点”,它捕获了端口21上的所有FTP请求,因为用户没有被添加到该站点的授权帐户列表中,它正在返回未经授权的响应。

将用户添加到默认的FTP站点使我能够login,但是然后我将其放入默认站点的根目录(类似于http://forums.iis.net/t/1156913.aspx )。 更改login到<hostheader>|<username>也没有工作,并返回一个530 Valid hostname is expected响应。

在我把头撞到桌子上几次之后,我回去检查并重新检查每一个设置。 通常情况下,最终结果是在站点绑定中设置的主机头名称中的拼写错误。 一旦错字被修复,使用<hostheader>|<username>login。

综上所述

  1. 我需要login使用<hostheader>|<username>格式为了IIS获取我打算login哪个站点
  2. 我在站点绑定的hostheader值中有一个错字

这里同样的问题。 什么解决了我的是设置一个默认域。

  1. 在IISpipe理器中,单击FTP站点
  2. 转到FTP身份validation
  3. 点击基本身份validation
  4. 在右侧栏中点击编辑
  5. input用户authentication的Active Directory域的FQDN

我只是想在这里增加这个答案,因为它在我的search中提早出现。

我发现这个问题,同时寻找我的scheme的解决scheme,这是:
一个ftp用户能够login90%的时间,但几乎总是无法第一次login。

这是一个相当烦人的问题。 我正在试图解决这个问题。
解决scheme非常简单:重置用户的密码。 问题解决了。 我希望这能帮助别人不浪费太多时间。

在Windows 2012 IIS 8上也得到这个错误

我的设置是一个新的简单的ftp站点,auth基本,auth规则允许域用户,ftp用户隔离设置为ftp根目录(不用搞乱AD)

为老用户工作,为pipe理员工作 – 不会为新用户工作!

localsystem标识更改为localsystem ,然后运行。