Iis-7

IIS7 FTP 設置 - 身份驗證過程中發生錯誤。530 結束登錄失敗

  • September 1, 2021

我遇到的問題與Windows Server 2008 R2 Standard 上的IIS 7.5 FTP IIS 管理器使用者登錄失敗 (530)非常相似。

我已經創建了一個 FTP 站點和 IIS 管理器使用者,但在登錄時遇到了問題。我真的可以使用 IIS 管理器使用者而不是創建一個新的系統使用者,因為我受到這些帳戶的相當限制。

這是通過命令提示符本地連接時的輸出:

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 中使用 iis 管理器身份驗證配置 ftp 並IIS 7 中將 FTP 發布添加到網站

我做過並檢查過的事情:

  • 已安裝 FTP 服務(連同 FTP 可擴展性)。
  • 本地服務和網路服務已被授予訪問站點文件夾的權限
  • 已授予配置文件的權限
  • 授予對 FTP 根文件夾的讀/寫權限
  • 管理服務已安裝並正在執行
  • 啟用遠端連接勾選了“Windows 憑據或 IIS 管理器憑據”
  • IIS 管理器使用者已添加到伺服器(IIS 連接分支中的根連接)
  • 添加了新的 FTP 站點
  • IIS 管理器身份驗證已添加到 FTP 身份驗證提供程序
  • IIS 管理器使用者已添加到站點的 IIS 管理器權限列表中
  • 在 FTP 授權規則中為使用者添加了讀/寫權限

這是與 FTP 站點關聯的 applicationHost 配置文件的一部分

<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>

如果我使用相同的 IIS 管理器帳戶詳細資訊從本地 IIS 管理器連接到站點(不是 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 站點的設置,而很少關注其他影響。

事實證明,有一個全域“預設 FTP 站點”正在擷取埠 21 上的所有 FTP 請求,因為該使用者未添加到該站點的授權帳戶列表中,因此它返回了未經授權的響應。

將使用者添加到預設 FTP 站點使我能夠登錄,但隨後我進入了預設站點的根 FTP 目錄(類似於http://forums.iis.net/t/1156913.aspx>)。將登錄更改為`<hostheader>|<username也不起作用並返回了530 Valid hostname is expected`響應。

在桌子上敲了幾次頭後,我回去檢查並重新檢查每一個設置。通常最終結果是站點綁定中設置的主機頭名稱中的拼寫錯誤。&lt;hostheader&gt;|&lt;username&gt;一旦錯字被修復,登錄使用隨後工作。

總之

  1. 我需要使用該&lt;hostheader&gt;|&lt;username&gt;格式登錄,以便 IIS 選擇我打算登錄的站點
  2. 我在站點綁定中的 hostheader 值中有錯字

引用自:https://serverfault.com/questions/441569