在CentOS上配置SFTP多用户,可以按照以下步骤进行:
首先,确保你的系统已经安装了openssh-server和openssh-clients。
sudo yum install openssh-server openssh-clients -y
创建你想要用于SFTP的用户。例如,创建一个名为sftpuser1的用户:
sudo adduser sftpuser1
编辑SSH配置文件/etc/ssh/sshd_config,确保以下配置项存在并且正确:
# 允许SFTP连接
Subsystem sftp /usr/libexec/openssh/sftp-server
# 限制SFTP用户只能使用SFTP
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
创建一个专门用于SFTP用户的组:
sudo groupadd sftpusers
将你创建的用户添加到sftpusers组:
sudo usermod -aG sftpusers sftpuser1
为了安全起见,你可以配置用户的chroot环境。编辑/etc/ssh/sshd_config文件,添加或修改以下内容:
# 配置chroot环境
Match Group sftpusers
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
确保/home/%u目录存在并且属于root用户:
sudo mkdir -p /home/sftpuser1
sudo chown root:root /home/sftpuser1
确保chroot目录及其子目录的权限设置正确:
sudo chmod 755 /home/sftpuser1
sudo chmod 755 /home/sftpuser1/*
最后,重启SSH服务以应用所有更改:
sudo systemctl restart sshd
使用SFTP客户端连接到服务器,测试配置是否成功:
sftp sftpuser1@your_server_ip
如果一切配置正确,你应该能够成功登录并进行文件传输。
通过以上步骤,你可以在CentOS上成功配置SFTP多用户环境。