CentOS搭建FTP服务

服务器:CentOS 7.2 64 位

FTP服务端:vsftpd

客户端:FileZilla

文章最后是我遇到的两个问题及解决方案

安装vsftpd

  • 安装 yum install vsftpd -y
  • 启动 service vsftpd start
  • 确认 netstat -tunlp (program name有vsftpd)
  • 测试 telnet 公网IP 21 (返回220)

配置vsftpd

输入:vi /etc/vsftpd/vsftpd.conf

按i或a进入编辑模式,底部有个insert标识,将文件中的anonymous_enable=YES改为 anonymous_enable=NO (只把YES改成NO就行了,其他不动),修改完成后按下【Esc】退出,然后在底部输入:wq!保存退出操作。

本次更改内容为:不允许匿名登录

关于linux和Xshell的更多操作请参考:

常用Linux命令

Xshell命令(常用收集)

我的linux也是入门水平,只是最近经常用才有所提高,如有错误敬请指出

添加用户

  • 添加用户 useradd -m -d /home/用户名 -s /sbin/nologin 用户名
  • 设置密码 passwd 用户名 然后输入密码即可
添加用户

问题

  • 问题1:测试telnet连接不上

一般安装启动没什么问题,在windows测试连接的时候总是连接不上,后来发现是因为我启动了安全组没有配置21端口,因为服务器被攻击过一次,后来就配置了安全组,安全组中没有配置21端口。

解决方案:在安全组策略中加上21端口即可,FTP属于TCP协议。

配置21端口
  • 问题2:本地ftp客户端读取目录失败,连接超时

问题出现在 PASV 命令处。原因在于 FTP 协议在部分网络架构上的不适,我用的腾讯云。

FTP 客户端默认被动模式传输,因此在通信过程中会去寻找服务器端的 IP 地址进行连接,但是由于腾讯云的外网 IP 不是直接配在网卡上,因此在被动模式下客户端无法找到有效 IP (只能找到云服务器内网 IP ,内网 IP 无法直接和外网通信),故无法建立连接。

解决方案:

  1. 将客户端传输模式改为主动即可;
  2. 如果客户端网络环境要求被动模式,输入vi /etc/vsftpd/vsftpd.conf新增这些语句:
pasv_address=外网 IP
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=2048

然后保存,重启,稍等一会儿就可以正常连接了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 图片更清晰,文字在最下面 FTP是TCP/IP的一种应用,使用TCP而不是UDP,所以是可靠的,面向连接的。 FT...
    停下浮躁的心阅读 1,760评论 0 4
  • FTP服务概述 简单FTP构建及访问 VSFTP服务基础 用户禁锢、黑白名单 FTP并发及带宽限制 一、FTP服务...
    紫_轩阅读 7,750评论 3 25
  • 快速搭建FTP服务器 一:安装vsftpd 查看是否已经安装vsftpdrpm -qa | grep vsftpd...
    殷俊杰阅读 1,187评论 0 1
  • ftp 文件传输协议 跨平台 上传下载文件 vsftpd 工具:非常安全的文件传输协议;默认的命令端口21号,数据...
    柒夏锦阅读 4,121评论 1 9
  • 生物钟真是个奇妙的东西,假期里,常常一觉到大天亮,昨天还担心上班后会不适应,今早上四点多点就醒来且睡意全无! 起床...
    06暖阳阅读 205评论 2 2