web-dev-qa-db-fra.com

vsftpd - Commande de port illégale

J'utilise un serveur Ubuntu sur une machine VirtualBox. Apache et SSH fonctionnent, mais FTP, une fois connecté au serveur et connecté, envoie un message d'erreur:

 - Command: PORT 127,0,0,1,180,221 
 - Response: 500 Illegal PORT command.
 - Error: Failed to retrieve directory listing

Port Forwarding:
TCP | Host Port 2100 | Guest Port 21

Mon fichier vstpd.conf:

listen=YES
pasv_enable=YES
pasv_min_port=2005
pasv_max_port=2010
port_enable=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=NO
ftpd_banner=Welcome.
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
3
Kenny

jackbenny est proche ...

Je cours sur AWS avec Ubuntu, voici ce que j’ai fait pour que vsftpd se comporte correctement:

seccomp_sandbox=NO
allow_writeable_chroot=YES
pasv_address=<(public ip) or (AWS public domain or DNS)>
pasv_enable=Yes
pasv_min_port=30000
pasv_max_port=30100
port_enable=YES

Ensuite, vous devez vous assurer que vous autorisez les ports, 20,21,30000-30100 à travers. Gardez à l'esprit que les choix de ports 30000-30100 sont complètement arbitraires et peuvent être ceux que vous souhaitiez. Bien que, je m'en tiens aux ports supérieurs à 10000 et à une plage de 100 ou plus.

6
Brandon Bearden

Avez-vous eu cette erreur en vous connectant de "l'extérieur"? Dans ce cas, vous devrez peut-être ajouter votre adresse IP externe à vsftpd pour lui permettre de savoir quelle adresse IP envoyer à ses clients lors de l'utilisation du mode passif FTP.

Essayez d’ajouter pasv_address=<YOUR_IP_HERE> à votre configuration.

Vous pouvez également essayer de basculer votre client FTP en mode actif et voir si vous obtenez toujours la même erreur.

Vous devrez peut-être également définir la plage de ports pour un FTP passif et également activer le mode FTP passif. Essayez d’ajouter ces lignes (remplacez START_PORT et END_PORT par les ports de votre choix et n'oubliez pas de les transférer dans votre routeur):

pasv_enable=Yes
pasv_max_port=<START_PORT>
pasv_min_port=<END_PORT>
5
jackbenny

Je ne sais pas ce qui se passe ici, mais ce problème est trop vieux. J'ai finalement résolu ce problème il y a quelques semaines lorsque j'ai réinstallé ma machine virtuelle et suivi attentivement toutes les instructions. Les réponses ont été très utiles quand même.

1
Kenny