共计 615 个字符,预计需要花费 2 分钟才能阅读完成。
问题
- linux 客户端登陆 FTP 胜利后 呈现 ls 卡死问题,然而 windows 应用 FileZilla 客户端失常。
- 代码如下
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (172,41,38,5,234,120).
^C
receive aborted
waiting for remote to finish abort
剖析
- 从上述能够看出,输出 ls 命令之后,ftp 进入被动模式,
而后前面一串数字 (172,41,38,5,234,120),是 ftp 服务器返回的 ip 与端口。 - 前四位示意 ip,最初两位是端口,端口示意规定为 234*256+120=60024,所以服务器返回的是 172.41.38.5:60024。
-
显著是个内网 IP,此时应该判断客户端是否拜访到这个内网 IP。上述例子是拜访不到。
解决
- 批改 ftp 服务器配置 /etc/vsftpd/vsftpd.conf
listen=YES
listen_ipv6=NO
pasv_address= 公网 IP
- 重启失效
service vsftpd restart
参考链接:
[记一次 ftp 能够失常登录, 然而输出 ls dir 命令卡死的问题
](https://blog.csdn.net/qq_3878…)
正文完