ftp> ls 500 Illegal PORT command. ftp: bind: Address already in use,500 OOPS: cannot read list
希望大家看后有什么问题,和好的解决方案
在下面评论,不要默默离开,使得后来者同样一无所获,谢谢!!!
下面有四种错误类型,大家对号入座,谢谢!
出错情况重现如下:
第一个是:
ftp> ls 500 Illegal PORT command. ftp: bind: Address already in use,
关闭了你的ftp客户端程序,
重启ftp服务器:ftpd程序。然后再登陆。
注意下,你是否开了两个连接到一个端口且尚未退出。
如果还不行试试下面的。
我的解决方法:
检查你的/etc/vsftpd/vsftpd.conf
里面不可以有空格,最好不要有换行(特别检查每行的最后有无空格),检查完上面的内容之后,按照上面的网址,修改下passive模式,然后在ftp中切换为ftp模式。
出错原理参考网址:
https://blog.****.net/m0_37806112/article/details/81904496
英文网页:
http://hea-www.harvard.edu/~fine/Tech/addrinuse.html
第二个是:
500 OOPS: cannot read user list file:user_list
解决方案:
检查您的user_list,chroot_list,而且检查你的/etc/vsftpd/vsftpd.conf
里面不可以有空格,最好不要有换行(特别检查每行的最后有无空格)
我改完就可以用了。
第三个是:
500 Illegal PORT command.
ftp: bind: Address already in use
明明可以登陆进去,但是无法ls也无法dir只能cd进目录
解决参考网址:
原先配置好的vsftpd突然不行了,不知为啥,感觉跟网络有关,这个网络总是有dns拦截的现象,同事就是连不上,我的笔记本却可以连接上…我的ubuntn,同事用的win7下的filezila…
https://www.cnblogs.com/flex_fly/p/3532773.html
在windows的dos窗口用FTP命令去连时,可以登录,但使用ls等命令时,出现:
500 Illegal PORT command.
425 Use PORT or PASV first.
根据提示是被动模式的问题。
https://blog.****.net/feng_1029855612/article/details/57644195
主要是由于Iptables防火墙不支持的情况:
https://blog.****.net/xueling022/article/details/53183929
每个人的操作不同,可能不一定有效,
我的解决方法:
检查你的/etc/vsftpd/vsftpd.conf
里面不可以有空格,最好不要有换行(特别检查每行的最后有无空格),检查完上面的内容之后,按照上面的网址,修改下passive模式,然后在ftp中切换为ftp模式。
FTP主/被动模式的原理
FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
PORT(主动)方式的连接过程是
客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是
客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
主动模式:服务器向客户端敲门,然后客户端开门
被动模式:客户端向服务器敲门,然后服务器开门
所以,如果你是如果通过代理上网的话,就不能用主动模式,
因为服务器敲的是上网代理服务器的门,而不是敲客户端的门
而且有时候,客户端也不是轻易就开门的,因为有防火墙阻挡,
除非客户端开放大于1024的高端端口
解决过程:
第四种 错误:
输入用户名ftpuser和密码
如果登录出现530错误:
参考网址:
我非常喜欢的教程,麻雀虽小,五脏俱全那种!!!!博主很赞!!
输入用户名ftpuser和密码
如果登录出现530错误:
vim /etc/pam.d/vsftpd
注释掉#auth required pam_shells.so
如下图
然后在ftp登陆后ls一下,如果失败了,切换到被动模式即可
在ftp启动登陆后输入下面的代码
passive mode
ftp登陆格式:
ftp xxx.xxx.xxx.xxx
成功实例:
然后如果在ftp运行下(也就是在客户端对服务器端ftp文件夹进行修改)
mkdir一下发现无法创建文件夹 550 create directory operation failed
在服务器端:也就是ftpd程序上修改(如果你用的是两台机器的话,在服务器 上按照下面修改,一台的话直接操作就行)
setsebool -P ftpd_disable_trans on
/etc/init.d/vsftpd restart