温馨提示×

CentOS下如何配置SFTP用户认证

小樊
36
2025-11-23 21:24:59
栏目: 智能运维

在CentOS系统下配置SFTP用户认证,通常涉及以下几个步骤:

1. 安装必要的软件包

首先,确保你已经安装了openssh-server,因为SFTP是SSH的一部分。

sudo yum install openssh-server

2. 创建SFTP用户

创建一个新的用户,并设置其主目录和shell。

sudo adduser sftpuser
sudo passwd sftpuser

按照提示输入并确认密码。

3. 配置SSHD配置文件

编辑/etc/ssh/sshd_config文件,以允许SFTP访问。

sudo vi /etc/ssh/sshd_config

找到并修改以下行:

Subsystem sftp /usr/libexec/openssh/sftp-server

确保这一行没有被注释掉。

4. 配置用户权限

为了限制SFTP用户的访问权限,可以创建一个chroot环境。

创建chroot目录

sudo mkdir /home/sftpuser/upload
sudo chown root:root /home/sftpuser/upload
sudo chmod 755 /home/sftpuser/upload

设置用户主目录权限

sudo chown sftpuser:sftpuser /home/sftpuser
sudo chmod 755 /home/sftpuser

创建一个组并添加用户

sudo groupadd sftpusers
sudo usermod -aG sftpusers sftpuser

5. 配置PAM(可选)

如果你希望进一步限制SFTP用户的访问,可以使用PAM(Pluggable Authentication Modules)。

编辑/etc/pam.d/sshd文件:

sudo vi /etc/pam.d/sshd

添加以下行:

auth required pam_listfile.so item=user sense=allow file=/etc/ssh/sftpusers onerr=succeed

然后创建/etc/ssh/sftpusers文件并添加不允许SFTP访问的用户:

sudo vi /etc/ssh/sftpusers

例如:

root

6. 重启SSH服务

最后,重启SSH服务以应用更改。

sudo systemctl restart sshd

7. 测试SFTP连接

使用SFTP客户端连接到服务器,验证配置是否正确。

sftp sftpuser@your_server_ip

如果一切配置正确,你应该能够成功连接并进行文件传输。

通过以上步骤,你可以在CentOS系统下成功配置SFTP用户认证。

0