当前位置:   article > 正文

CentOS搭建FTP服务_telnet 21端口返回220

telnet 21端口返回220

服务器: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
  • 1
  • 2
  • 3
  • 4

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/187396
推荐阅读
相关标签
  

闽ICP备14008679号