这是问题所在,来自日志(ip 和 dns 名称已清理):
FTP 服务日志
2013-03-26 01:25:07 ORIGIN.IP - DESTINATION.IP 21 ControlChannelOpened - - 0 0 4ba4c190-09ca-45e3-a2ae-b19117d33b80 -
2013-03-26 01:25:07 ORIGIN.IP - DESTINATION.IP 21 AUTH TLS 234 0 0 4ba4c190-09ca-45e3-a2ae-b19117d33b80 -
2013-03-26 01:25:10 ORIGIN.IP - DESTINATION.IP 21 ControlChannelOpened - - 0 0 e6d0e58c-f555-41aa-9164-a29c5ba8f9bb -
2013-03-26 01:25:10 ORIGIN.IP - DESTINATION.IP 21 AUTH TLS 234 0 0 e6d0e58c-f555-41aa-9164-a29c5ba8f9bb -
FTP 服务 1 日志
2013-03-26 01:25:08 ORIGIN.IP - DESTINATION.IP 21 USER ftp.foo.bar.com|WDeployAdmin 331 0 0 4ba4c190-09ca-45e3-a2ae-b19117d33b80 -
2013-03-26 01:25:08 ORIGIN.IP MACHINE-NAME\WDeployAdmin DESTINATION.IP 21 PASS *** 530 183 18 4ba4c190-09ca-45e3-a2ae-b19117d33b80 /
2013-03-26 01:25:10 ORIGIN.IP - DESTINATION.IP 21 ControlChannelClosed - - 0 0 4ba4c190-09ca-45e3-a2ae-b19117d33b80 -
(开发人员在这里兼职系统管理员;我不知道为什么有两个不同的服务在做日志。)
根据微软文档、FTP 日志代码:
183 ???(不在文档中,找不到 win32-substatus 代码表)
234 安全数据交换完成。
331 用户名正确,需要密码。
530 未登录。
18 无效配置。
IIS 配置
默认网站,已启用 FTP 发布。
绑定:
*:21:ftp.foo.bar.com
物理路径:%SystemDrive%\inetpub\wwwroot
指定用户:
Allow WDeployAdmin read write
FTP 身份验证:Basic enabled, no Default domain
Windows 用户
WDeployAdmin
有full control
超过%SystemDrive%\inetpub\wwwroot
FTP 客户端
Visual Studio 2012,复制网站
服务器ftps://foo.bar.com
端口:21
Passive Mode
用户名:ftp.foo.bar.com|WDeployAdmin
错误信息:
您输入的用户名或密码不正确,或者您没有执行此操作的权限。
错误消息 2(拒绝再次尝试连接后):
无法打开网站“ftps://foo.bar.com”。您无权执行当前操作。
采取的诊断步骤
我尝试将 wwwroot 的子文件夹附加到连接,例如ftps://foo.bar.com/baz
,同样的错误。
我已重置密码以WDeployAdmin
验证其正确性。
我已经重新启动了 IIS,并刷新了默认网站 http 和 ftp 服务。
答案1
这些更改解决了问题。我回想起来,假设额外的主机头绑定以某种方式扰乱了用户身份验证。
- 删除了多余的 IIS FTP 站点(已停止,但仍然存在)。
- 从默认网站中删除了 FTP 发布。
- 已从默认网站开始 FTP 发布。除 IP 外无其他绑定。默认域中的 MACHINE-NAME。
- 从服务控制面板重新启动 Microsoft FTP 服务 (很好的建议)
- 客户端:相同的设置,除了用户名中没有主机头,只有用户名。