乐趣区

关于linux:linux客户端ftp登陆成功之后ls卡死

问题

  • 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…)

退出移动版