Linux Centos7搭建FTP服务器

安装

安装VSFTPD

老样子,先用XShell或者是别的SSH工具远程连接到服务器,用root用户登陆服务器。
然后键入以下命令以安装VSFTPD
yum install vsftpd

启动vsftpd:
systemctl start vsftpd.service

设置vsftpd开机自启动:
systemctl enable vsftpd.service

查看状态
systemctl status vsftpd.service

配置VSFTPD

完成第一步之后其实已经启动了ftp服务器,但我们并用不了,因为我们还没有对vsftpd进行一些必要的设置。
vsftpd的配置文件是/etc/vsftpd/vsftpd.conf,直接用vim打开编辑即可。
使用vim编辑器打开vsftpd配置文件:
vim /etc/vsftpd/vsftpd.conf
vsftpd的配置文件非常大,所以我就不截图展示和完整展示了,我们直接挑关键的地方进行一些简单的修改。
注:在vim中,非编辑状态下输入“/”+需要查找的内容 后按回车键可以快键查找指定字符串。

anonymous_enable=YES
是否允许匿名用户登陆FTP。
为了安全起见关闭这个功能(将等号后的YES改成NO即可)。

dirmessage_enable=YES
切换目录时,显示目录下.message文件中的内容
默认是开启的

local_umask=022
FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022.
没有什么特殊情况不用修改。

xferlog_enable=YES
启用上传和下载的日志功能,默认开启。
建议开启此功能,它可以对用户的操作进行日志记录,当出现问题的时候可以通过日志排查问题。

ftpd_banner=XXXX
FTP的欢迎信息。
在FTP登陆成功之后,服务器会往客户端发送一个欢迎消息以表示登陆成功。这是一个个性化的功能,您可以自由的设置其值,也可以在配置最前加上#注释本行。

data_connection_timeout=120
数据连接超时时间。
如果在使用vsftpd上传下载碎小文件的时候容易发生超时中断的问题,可以将本行前的#注释符去掉,然后将120改成5或者更小,然后重启vsftpd即可。
修改配置文件完成。保存后重启VSFTPD。

重启vsftpd服务:
systemctl restart vsftpd.service

创建FTP用户

修改完vsftpd的配置文件之后我们还是不能使用vsftpd,因为我们还没有设置ftp的用户。
添加一个名为ftpuser的用户,用户文件夹位置为:/var/www/html,且禁止此用户登陆服务器:
useradd -d /var/www/html -s /sbin/nologin ftpuser

然后设置一下密码,为ftpuser设置密码:
passwd ftpuser

调整防火墙

一.关闭默认firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

二.开启iptables
yum -y install iptables-services #安装iptables
systemctl enable iptables #设置开机自启
systemctl enable iptables.service #两个都执行

关闭了系统自带的firewall防火墙,换上了新的iptables防火墙?就是iptables防火墙将我们的连接请求阻断了。如果你个人怕麻烦,而且也觉得防火墙没什么用,那你可以将iptables防火墙关闭,关闭防火墙之后就可以正常使用了。
不过因为这么一点小事儿就关闭防火墙未免显得有点水,而且防火墙摆在那里总归是有用的。那么有什么办法既保留防火墙,又能让iptables不把我们的ftp连接请求阻断呢?

FTP有两种模式,主动模式和被动模式。

FTP主动模式
使用Vim编辑器打开iptables配置文件:
vim /etc/sysconfig/iptables
然后在配置文件中加入这么一句:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
这句话告诉iptables开放21端口,允许接受从21端口传入的连接。

然后重启iptables服务:
systemctl restart iptables.service

FTP被动模式
这里不细说了,推荐用主动模式

调整文件夹权限

chmod 777 文件夹名

搭建FTP后访问,可能出现的问题

File Zilla遇到的问题:
状态: 正在连接 118.25.3.XX…
响应: fzSftp started, protocol_version=8
命令: open “[email protected]” 22
命令: Pass: **
错误: Received unexpected end-of-file from SFTP server
错误: 无法连接到服务器
解决办法如下:

在网上查看,答案千篇一律,经过多次查找后,找到了一个比较好的解决方案
vi编辑/etc/ssh/sshd_config

2、找到如下一行代码(可以使用:?查找)
Subsystem sftp /usr/lib/openssh/sftp-server
替换
Subsystem sftp internal-sftp

3、重启sshd
service sshd restart

4.访问
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42371621/article/details/110353489