Linux

客戶端無法連接到 FTP 伺服器(僅 filezilla 有效)

  • May 16, 2021

我按照這個 DigitalOcean Tutorial在 Amazon-EC2 實例上創建了一個 FTP 伺服器,我可以正常登錄,這是唯一可以使用 shell 遠端工作的部分(從伺服器連接到 localhost 沒有任何問題),但是任何命令我給 FTP 客戶端(例如lsput source destination)不起作用。本教程將伺服器設置為在 PASSIVE 模式下工作,但在網上尋找解決方案時,人們對模式 X 有疑問,解決方案是從模式 X 切換到模式 Y,反之亦然。


FTP(詳細模式)提供兩種不同的輸出:

  • 當連接處於活動模式時
ftp> dir
500 Illegal PORT command.
ftp: bind: Address already in use
  • 當連接處於被動模式時
ftp> dir
227 Entering Passive Mode (addr, of, my, server, port1, port2).
ftp: connect: Connection timed out

雖然命令行 FTP 客戶端不能執行任何不同於登錄的操作,但 Filezilla 可以。我想解決方案在於 filezilla 狀態日誌:

Status: Connecting to addr:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Server does not support non-ASCII characters.
Status: Logged in
Status: Retrieving directory listing...
Status: Server sent passive reply with unroutable address. Using server address instead.
Status: Calculating timezone offset of server...
Status: Timezone offset of server is 0 seconds.
Status: Directory listing of "/" successful

為了您的資訊,使用 Filezilla 不是一個選項:我只是安裝它以獲得一個漂亮的客戶端來執行基本操作和測試,但結果證明它是唯一可以做某事的客戶端。

我在 AWS EC2 上託管的伺服器遇到了這個問題。

我通過禁用listen_ipv6並在配置中添加以下屬性來解決它,然後重新啟動vsftpd

listen_ipv6 =NO

監聽=YES

pasv_enable=YES

pasv_address=ec2-external-ip

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