CentOS FTP服务器配置:配置FTP/SFTP连接
(图片来源网络,侵删)1、打开终端,使用以下命令安装vsftpd服务:
sudo yum install vsftpd y
2、启动vsftpd服务并设置开机自启:
sudo systemctl start vsftpd sudo systemctl enable vsftpd
1、备份原始配置文件:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
2、编辑配置文件:
sudo vi /etc/vsftpd/vsftpd.conf
3、在配置文件中添加以下内容:
anonymous_enable=NO #禁止匿名登录 local_enable=YES #允许本地用户登录 write_enable=YES #开启写入权限 local_umask=022 #设置默认umask值 dirmessage_enable=YES #启用目录欢迎信息 xferlog_enable=YES #开启传输日志 connect_from_port_20=YES #PASV模式使用的端口范围的起始端口 xferlog_std_format=YES #标准日志格式 listen=YES #vsftpd采用standalone方式运行 pam_service_name=vsftpd #设置认证方式为PAM userlist_enable=YES #启用用户列表 tcp_wrappers=YES #启用TCP包装
4、保存并退出编辑器。
1、开放FTP服务的21端口:
(图片来源网络,侵删)sudo firewallcmd permanent addport=21/tcp sudo firewallcmd reload
2、查看防火墙状态:
sudo firewallcmd listall
1、创建一个新用户,ftpuser:
sudo useradd ftpuser
2、为新用户设置密码:
sudo passwd ftpuser
3、创建FTP根目录,并将所有权更改为ftpuser:
sudo mkdir /srv/ftp sudo chown ftpuser:ftpuser /srv/ftp
4、将用户限制在其主目录中:
sudo vim /etc/vsftpd/vsftpd.conf
5、在配置文件末尾添加以下行:
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
6、保存并退出编辑器。
(图片来源网络,侵删)7、创建chroot_list文件并添加ftpuser:
sudo touch /etc/vsftpd/chroot_list echo "ftpuser" | sudo tee a /etc/vsftpd/chroot_list
8、重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
1、安装opensshserver:
sudo yum install opensshserver y
2、启动sshd服务并设置开机自启:
sudo systemctl start sshd sudo systemctl enable sshd
3、编辑sshd配置文件:
sudo vi /etc/ssh/sshd_config
4、在配置文件中添加以下内容:
Subsystem sftp internalsftp Match group sftpusers ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internalsftp
5、保存并退出编辑器。
6、创建一个名为sftpusers的新组并将ftpuser添加到该组:
sudo groupadd sftpusers sudo usermod G sftpusers ftpuser
7、重启sshd服务以应用更改:
sudo systemctl restart sshd
下面是一个简单的介绍,概述了在CentOS系统上配置FTP和SFTP连接的基本步骤。
| 步骤 | FTP配置 | SFTP配置 |
| 1. 安装FTP服务器 | 安装vsftpdyum install vsftpd | SFTP通常内置于SSH服务器,安装SSHyum install opensshserver |
| 2. 启动服务 | 启动FTP服务systemctl start vsftpd | 启动SSH服务systemctl start sshd |
| 3. 设置开机自启 | 设置FTP服务开机自启systemctl enable vsftpd | 设置SSH服务开机自启systemctl enable sshd |
| 4. 配置防火墙 | 允许FTP服务通过防火墙firewallcmd addservice=ftp permanent,然后重新加载防火墙firewallcmd reload | 允许SSH服务通过防火墙firewallcmd addservice=ssh permanent,然后重新加载防火墙firewallcmd reload |
| 5. 配置FTP用户 | 创建FTP用户useradd m ftpuser | 创建SFTP用户useradd m sftpuser |
| 6. 设置用户密码 | 设置FTP用户密码passwd ftpuser | 设置SFTP用户密码passwd sftpuser |
| 7. 配置FTP目录 | 修改/etc/vsftpd/vsftpd.conf,设置本地用户的主目录或匿名用户的共享目录 | 配置SSH用户的家目录或指定目录 |
| 8. 配置FTP权限 | chown和chmod来设置目录和文件的权限 | chown和chmod来设置目录和文件的权限 |
| 9. 配置FTP匿名登录(可选) | 在vsftpd.conf中取消注释anonymous_enable=YES并配置匿名用户权限 | SFTP不推荐使用匿名登录,通常需要用户身份验证 |
| 10. 配置被动模式(可选) | 在vsftpd.conf中设置pasv_enable=YES,配置防火墙允许相应的端口范围 | SFTP不需要额外配置被动模式,使用SSH端口 |
| 11. 重启服务 | 修改配置后重启FTP服务systemctl restart vsftpd | 修改配置后重启SSH服务systemctl restart sshd |
| 12. 测试连接 | 使用FTP客户端软件,例如FileZilla,进行测试连接 | 使用SSH客户端软件,例如PuTTY,或者使用命令行sftp username@hostname 进行测试连接 |
请注意,这个介绍只是提供了一个基本的指导,配置时可能需要根据具体情况进行调整,对于安全性要求较高的环境,推荐使用SFTP,因为它通过SSH协议进行加密传输,相比之下FTP则是不加密的,数据传输存在安全风险。
下一篇:2017买什么主机比较好