在CentOS系统上配置SFTP(SSH文件传输协议)涉及多个步骤,包括安装必要的软件包、创建用户和用户组、配置SSH服务以及调整防火墙设置等。以下是详细的配置说明:
首先,确保OpenSSH服务器已安装在您的CentOS系统上。如果未安装,可以使用以下命令进行安装:
sudo yum install openssh-server
创建一个专门用于SFTP的用户组和一个SFTP用户。例如,创建名为sftpusers
的用户组,并将需要使用SFTP的用户添加到该组中:
sudo groupadd sftpusers
sudo useradd -G sftpusers -d /home/sftpuser -s /sbin/nologin sftpuser
sudo passwd sftpuser
为SFTP用户创建家目录,并设置正确的权限。例如,如果chrootDirectory
设置为/home/sftpuser
,则该目录及其所有上级目录的属主和属组都应该是root,并且权限设置为755:
sudo mkdir -p /home/sftpuser
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
编辑SSH配置文件/etc/ssh/sshd_config
,确保以下配置项已正确设置:
# 启用SFTP子系统
Subsystem sftp internal-sftp
# 限制特定用户组使用SFTP
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
PasswordAuthentication yes
在更改SFTP端口之前,需要在防火墙中打开新端口。如果您使用的是CentOS默认的防火墙FirewallD,请运行以下命令以打开端口:
sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp
sudo firewall-cmd --reload
保存配置文件并重新启动SSH服务以使更改生效:
sudo systemctl restart sshd
使用SFTP客户端(如FileZilla)从另一台计算机连接到服务器,使用服务器的登录用户名和密码登录,以测试SFTP服务是否正常工作。连接格式应为:sftp://username@hostname:port
。
例如,使用端口2222连接:
sftp://sftpuser@your_server_ip:2222
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:如何提高CentOS SFTP传输速度