最近一直在弄云服务器,这里总结一下 ftp 的配置以及遇到的问题。

首先在本地远程连接服务器,windows 和 Mac 的方法不一样,需要分别配置,都比较简单。

  • windows 下载 xshell 配置就可以
  • Mac 下直接使用终端就可以连接,输入 ssh <用户 root>@<主机 ip 地址> 然后输入密码就可以,例如 ssh root@0.0.0.0

这里注意,需要提前在阿里云的服务器控制台中配置 ssh 的安全组,如下图。

centos ftp 连接 centos ftp 配置_配置文件


然后就可以在本机使用终端控制服务器了。

接下来按照下面的步骤操作

安装

$ yum install -y vsftpd

查看目录

$ cd /etc/vsftpd && ls
  • /etc/vsftpd/vsftpd.conf 是核心配置文件。
  • /etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
  • /etc/vsftpd/user_list 是白名单文件,是允许访问 FTP 服务器的用户列表。

设置开机自启动

$ systemctl enable vsftpd.service

开启服务

$ systemctl start vsftpd.service

查看 ftp 的端口

$ netstat -antup | grep ftp

接下来修改配置文件 /etc/vsftpd/vsftpd.conf,来支持用户的修改和上传功能

$ vim /etc/vsftpd/vsftpd.conf

修改如下配置
- write_enable=YES 写权限
- anon_upload_enable=YES 匿名上传权限

然后更改 /var/ftp/pub 目录的权限,为 FTP 用户添加写权限,并重新加载配置文件

$ chmod o+w /var/ftp/pub/

$ systemctl restart vsftpd.service

接下来配置本地用户登录
创建用户

$ useradd ftpxiaoming

修改用户 ftpxiaoming 的密码

$ passwd ftpxiaoming

然后再次修改配置文件 /etc/vsftpd/vsftpd.conf

$ vim /etc/vsftpd/vsftpd.conf

配置如下

  • anonymous_enable=NO 是否允许匿名登录 FTP
  • local_enable=YES 是否允许本地用户登录 FTP
    重新加载配置
$ systemctl restart vsftpd.service

vsftpd.conf 的配置文件参数说明

用户登录控制:

参数

说明

anonymous_enable=YES

接受匿名用户

no_anon_password=YES

匿名用户login时不询问口令

anon_root=(none)

匿名用户主目录

local_enable=YES

接受本地用户

local_root=(none)

本地用户主目录

用户权限控制:

参数

说明

write_enable=YES

可以上传(全局控制)

local_umask=022

本地用户上传文件的umask

file_open_mode=0666

上传文件的权限配合umask使用

anon_upload_enable=NO

匿名用户可以上传

anon_mkdir_write_enable=NO

匿名用户可以建目录

anon_other_write_enable=NO

匿名用户修改删除

chown_username=lightwiter

匿名上传文件所属用户名

然后在阿里云设置安全组,端口为 21,授权对象 0.0.0.0/0

下面我们下载一个 ftp 的软件测试一下,例如 filezilla

先根据前面配置的用户名和密码设置站点

centos ftp 连接 centos ftp 配置_服务器_02


然后连接,这里可能会报错 服务器返回了不可路由的地址,使用服务器地址代替

如下设置

  1. 左上角:设置——连接——FTP——被动模式,修改为“退回到主动模式”。
  2. 打开站点管理器,将【传输设置】选择为“主动”。
  3. IIS 新增 FTP 站点,可查阅论坛其它帖子。(可搜索帮助文档:[font=PingFangSC, &quot]云服务器 ECS Windows Server 通过 IIS 配置 FTP)
  4. 检查阿里云安全组规则是否配置了 21 端口

然后再次连接就可以了

centos ftp 连接 centos ftp 配置_Web_03