搭建FTP服务

1、安装vsftpd

sudo apt-get install vsftpd

2、启动vsftpd服务

systmctl start vsftpd

确认服务是否开启

netstat -tunlp

出现21端口处于listen状态。

安装telnet

sudo apt-get install telnet

通过以下命令测试是否已启动服务:

telnet 'ip地址' 21

出现以下内容说明已经启动。

Trying 123.207.227.131...
Connected to 123.207.227.131.
Escape character is '^]'.
220 (vsFTPd 3.0.3)

3、配置vsftpd

sudo vim /etc/vsftpd.conf

anonymous_enable=YES改为 anonymous_enable=NO,保存退出。

4、添加FTP用户

sudo useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1
sudo passwd ftpuser1

输入密码并确认即可。

问题

1、FileZilla登陆一直出现(响应: 220 (vsFTPd 3.0.3) ,命令:AUTH TLS)错误

状态: 正在连接 123.207.227.131:21...
状态: 连接建立,等待欢迎消息...
响应: 220 (vsFTPd 3.0.3)
命令: AUTH TLS
错误: 无法连接到服务器
状态: 正在等待重试...
状态: 正在连接 123.207.227.131:21...
状态: 连接建立,等待欢迎消息...
响应: 220 (vsFTPd 3.0.3)
命令: AUTH TLS

这是由于FTP服务器不支持FTP over TLS的连接方式(FileZilla默认为此模式)。FTP over TLS是指客户端显式请求(客户端发送"AUTH TLS"命令)对FTP会话加密。

解决办法:
登陆时设置FTP客户端不要求会话加密,即采用普通的FTP会话方式。以FileZilla软件为例,客户在管理站点的时候,“加密”选择为“只使用普通FTP(不安全)”即可。

2、连接ftp出现 331 Please specify the password 的解决办法

状态:     正在连接 120.78.147.27:21...
状态:     连接建立,等待欢迎消息...
命令:     USER root
响应:     331 Please specify the password.
命令:     PASS ***************
响应:     530 Login incorrect.
错误:     严重错误: 无法连接到服务器

出现错误的原因,是因为ubuntu启用了PAM,所在用到vsftp时需要用到 /etc/pam.d/vsftpd 这个文件(默认源码安装的不会有这个文件),因此除了匿名用户外本地用户无法登录。所以解决的办法就是删除这个文件

sudo rm /etc/pam.d/vsftpd

你可能感兴趣的:(搭建FTP服务)