美文网首页程序员
CentOS搭建FTP服务

CentOS搭建FTP服务

作者: 世外大帝 | 来源:发表于2018-03-15 12:24 被阅读20次

    服务器: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
    

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

    相关文章

      网友评论

        本文标题:CentOS搭建FTP服务

        本文链接:https://www.haomeiwen.com/subject/togcqftx.html