Windows

我無法從我的 EC2 實例連接到客戶 FTP 伺服器

  • October 7, 2019

我的客戶給了我一些 FTP 憑據。在家裡,我可以毫無問題地使用 FileZilla 進行連接。但是從我的 EC2 實例無法連接。我嘗試在 Windows 防火牆中授予 FileZilla 權限,禁用防火牆,但仍然沒有。我也嘗試創建一個全新的安裝,什麼都沒有。

Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PASV
Response:   421 Could not create socket.
Command:    PORT 172,31,30,233,195,203
Response:   200 Port command successful
Command:    MLSD
Response:   150 Opening data channel for directory listing of "/"
Response:   425 Can't open data connection for transfer of "/"
Error:  Failed to retrieve directory listing
Status: Connection closed by server

我還在亞馬遜控制台上檢查了我的安全組,並且傳出的包沒有限制。傳入的包開放了 20 和 21 埠

您可以在預設 FTP 埠 (TCP 21) 上連接和登錄,但無法建立被動 FTP 數據傳輸所需的第二個 TCP 連接,即數據連接(目錄列表是數據傳輸)。

PORT 響應通常包含 6 個八位字節,用於對需要進行被動數據連接的伺服器地址進行編碼。

例如 PORTh1,h2,h3,h4,p1,p2其中 h1.h2.h3.h4 是伺服器的 IPv4 IP 地址(172.31.30.233),TCP 埠號是(p1*256) + p2iexxx,x,xxx,xxx,195,203代表埠(195 * 256) + 203 = 50123

您的連接可能會失敗,因為PORT 伺服器通告的數字不是以公共可路由 IPv4 地址開頭,而是以私有地址(172.31.30.233 來自 172.16.0.0/12 範圍)或出口流量到用於被動流量 TCP 的埠號50123 在這種情況下被阻止。

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