在CentOS上搭建FTPS服务器需要以下几个步骤:
在终端中运行以下命令来安装vsftpd和libssh2软件包:
sudo yum install vsftpd libssh2
创建一个新的配置文件/etc/vsftpd/vsftpd.conf
,并使用文本编辑器打开它:
sudo nano /etc/vsftpd/vsftpd.conf
在配置文件中,找到以下设置并进行相应的修改:
anonymous_enable=YES
更改为anonymous_enable=NO
以禁止匿名访问。local_enable=YES
设置为local_enable=YES
以允许本地用户访问。write_enable=YES
设置为write_enable=YES
以允许FTP写入权限。chroot_local_user=YES
设置为chroot_local_user=YES
以限制用户访问自己的文件。allow_writeable_chroot
的注释并将其设置为allow_writeable_chroot=YES
以允许写入chroot目录。保存并关闭配置文件。
确保已启用SSH服务并创建一个名为ftpd
的新系统用户:
sudo systemctl enable sshd
sudo systemctl start sshd
sudo useradd -m ftpd
sudo passwd ftpd
接下来,编辑/etc/ssh/sshd_config
文件:
sudo nano /etc/ssh/sshd_config
找到以下设置并进行相应的修改:
Subsystem sftp /usr/libexec/openssh/sftp-server
更改为Subsystem sftp internal-sftp
以使用内置的SFTP服务器。Match User ftpd
下的设置更改为:ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存并关闭配置文件。
为FTPS用户创建一个目录,例如/home/ftpd
,并设置适当的权限:
sudo mkdir /home/ftpd
sudo chown ftpd:ftpd /home/ftpd
sudo chmod 755 /home/ftpd
保存所有更改后,重启vsftpd和SSH服务以使更改生效:
sudo systemctl restart vsftpd
sudo systemctl restart sshd
现在,您已经在CentOS上成功搭建了一个FTPS服务器。用户可以使用FTP客户端(如FileZilla)通过FTPS协议连接到服务器。请注意,这里使用的是内部SFTP服务器,而不是标准的FTPS服务器。要实现标准的FTPS(FTP over SSL),您需要安装并配置OpenSSL。