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

【linux客户端ftp登陆成功之后ls卡死】参考链接 :
[记一次 ftp 可以正常登录,但是输入ls dir 命令卡死的问题
](https://blog.csdn.net/qq_3878...)

    推荐阅读