Linux
客戶端無法連接到 FTP 伺服器(僅 filezilla 有效)
我按照這個 DigitalOcean Tutorial在 Amazon-EC2 實例上創建了一個 FTP 伺服器,我可以正常登錄,這是唯一可以使用 shell 遠端工作的部分(從伺服器連接到 localhost 沒有任何問題),但是任何命令我給 FTP 客戶端(例如
ls
或put 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