Windows
我無法從我的 EC2 實例連接到客戶 FTP 伺服器
我的客戶給了我一些 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 個八位字節,用於對需要進行被動數據連接的伺服器地址進行編碼。
例如 PORT
h1,h2,h3,h4,p1,p2
其中 h1.h2.h3.h4 是伺服器的 IPv4 IP 地址(172.31.30.233),TCP 埠號是(p1*256) + p2
iexxx,x,xxx,xxx,195,203
代表埠(195 * 256) + 203 = 50123
您的連接可能會失敗,因為
PORT
伺服器通告的數字不是以公共可路由 IPv4 地址開頭,而是以私有地址(172.31.30.233 來自 172.16.0.0/12 範圍)或出口流量到用於被動流量 TCP 的埠號50123 在這種情況下被阻止。