您的位置:

使用CentOS快速搭建高效稳定的SFTP服务器

一、安装OpenSSH服务

首先,我们需要安装OpenSSH服务,该服务提供了SSH协议的服务端和客户端实现,还包含SCP和SFTP工具。

1. 安装


sudo yum install openssh-server

2. 启动服务


sudo systemctl start sshd.service

3. 设置开机自启


sudo systemctl enable sshd.service

二、创建SFTP用户并限制登录

1. 创建SFTP用户

首先,我们需要创建一个SFTP用户,并将其目录设置为其家目录。


sudo useradd -m -d /home/sftpuser -s /sbin/nologin sftpuser

2. 为SFTP用户创建密码


sudo passwd sftpuser

3. 限制SFTP用户的Shell访问

为了安全起见,我们应该限制SFTP用户的Shell访问,以防止他们在登录后执行Shell命令。


sudo usermod -s /bin/false sftpuser

4. 设置SFTP用户的目录权限

我们可以为SFTP用户创建一个文件夹,用于存储他们的文件,并将它们的权限设置为只读。


sudo mkdir -p /home/sftpuser/files
sudo chown -R root:root /home/sftpuser
sudo chmod -R go-w /home/sftpuser
sudo chmod 755 /home/sftpuser/files

三、配置OpenSSH SFTP服务器

1. 备份sshd_config

为了安全起见,在进行以下配置之前,我们应该对sshd_config文件进行备份。


sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

2. 进行配置

我们需要编辑sshd_config文件,为SFTP用户配置以下内容,将其插入文件的底部。


Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

四、测试SFTP

1. 用SFTP客户端验证

我们可以用任何的SFTP客户端来验证SFTP是否能正常工作。如果SFTP用户能够登录,并且只能访问他们的目录,则说明一切正常。

2. 测试文件上传和下载

尝试将本地文件上传至远程服务器,或者将远程文件下载到本地。


sftp sftpuser@your_server_ip
put localfile /files
get filename

五、总结

本文讲述了如何在CentOS上快速搭建高效稳定的SFTP服务器。通过以上步骤,您已经可以创建一个可靠的SFTP服务器,限制用户访问,保护服务器安全。