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

推荐阅读更多精彩内容

  • 《真实的幸福》,作者是积极心理学之父马丁·塞利格曼。这本书中,作者指出真正的幸福来源于你对自身所拥有的优势的辨别和...
    月咏樱落阅读 584评论 0 0
  • 文 / 一梦 如果时光再重来 我一定会把你睡前的故事录下来 每一个失眠的夜晚 抱在怀里反复听 (一)那个小小村庄 ...
    爱笑阳阳阳阅读 811评论 15 13