Amazon-Web-Services
vsftpd 斷開與 AWS 的 PASV 命令連接
這就是我所看到的:
$ telnet ec2-???-???-232-82.compute-1.amazonaws.com 21 Trying ???.???.232.82... Connected to ec2-???-???-232-82.compute-1.amazonaws.com. Escape character is '^]'. 220 (vsFTPd 2.3.5) USER foo 331 Please specify the password. PASS secret 230 Login successful. PASV Connection closed by foreign host.
為什麼會發生這種情況?
這是一部分
/etc/vsftpd.conf
:pasv_enable=YES pasv_min_port=5000 pasv_max_port=5200
您可能需要為您的實例授權選擇的被動埠。這可以在 AWS 管理控制台中使用
ec2-authorize default -p <starting port>-<end port>
所以應該是
ec2-authorize default -p 5000-5200
在你的情況下。
編輯:當然,不要忘記記下公共地址
pasv_address=???.???.232.82
就像你指出的那樣。
對於 7 年後在這裡結束的其他人:
PASV
由於 vsftpd 在 ipv6 上偵聽,我在 EC2 實例上立即斷開連接時遇到了問題。通過設置
listen_ipv6=NO
和固定listen=YES
。