centos

CentOS SFTP安装步骤详解

小樊
37
2025-03-13 14:47:40
栏目: 智能运维

在CentOS上安装和配置SFTP服务主要涉及安装OpenSSH服务器、创建用户、配置SSH和SFTP相关设置,以及设置用户权限。以下是详细的步骤:

1. 安装OpenSSH服务器

首先,确保你的系统已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:

sudo yum install -y openssh-server

2. 创建SFTP用户组

创建一个专门用于SFTP用户的组:

sudo groupadd sftpusers

3. 创建SFTP用户

创建一个新的用户,并将其添加到sftpusers组中。注意,这里我们将用户的shell设置为/bin/false,以防止用户登录到系统:

sudo useradd -g sftpusers -s /bin/false mysftp

然后,为新用户设置密码:

sudo passwd mysftp

4. 配置SSH

编辑SSH配置文件/etc/ssh/sshd_config,找到或添加以下内容:

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

Match Group sftpusers
    ChrootDirectory /data/sftp/%u
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

这里的%u是用户的用户名,/data/sftp/%u是用户的根目录。

5. 设置用户根目录权限

确保用户的根目录及其所有上级目录的属主和属组都是root,并且权限设置为755。例如,对于用户mysftp,目录/data/sftp/mysftp应该如下设置:

sudo chown root:root /data/sftp/mysftp
sudo chmod 755 /data/sftp/mysftp

6. 配置SELinux(如果启用)

如果SELinux处于 enforcing 模式,需要将其设置为 permissive 模式或 disabled:

sudo setenforce 0

或者编辑/etc/selinux/config文件:

SELINUX=disabled

然后重启系统使更改生效。

7. 重启SSH服务

保存所有配置更改后,重启SSH服务以应用新的设置:

sudo systemctl restart sshd

8. 验证SFTP访问

使用SFTP客户端连接到服务器,验证用户是否能够正确登录并访问其主目录。例如:

sftp mysftp@your_server_ip

输入密码后,用户应该能够看到并访问其主目录。

0
看了该问题的人还看了