linux

SFTP在Linux中的配置步骤是什么

小樊
44
2025-04-14 01:57:02
栏目: 智能运维

在Linux中配置SFTP(SSH File Transfer Protocol)的步骤如下:

1. 安装OpenSSH服务器

首先,确保你的系统上安装了OpenSSH服务器。可以使用以下命令来安装:

sudo apt update
sudo apt install openssh-server

2. 创建SFTP用户组

创建一个新的用户组,用于管理SFTP用户:

sudo groupadd sftp

3. 创建SFTP用户

创建一个新的用户,并将其添加到sftp组中。同时,设置用户的家目录为/data/sftp,并禁止该用户通过SSH登录系统:

sudo useradd -g sftp -d /data/sftp -s /sbin/nologin sftpuser

4. 设置用户目录权限

为新创建的用户设置家目录的权限:

sudo mkdir -p /data/sftp/sftpuser
sudo chown root:sftp /data/sftp/sftpuser
sudo chmod 755 /data/sftp/sftpuser

5. 配置sshd_config文件

编辑/etc/ssh/sshd_config文件,添加或修改以下配置:

# 注释掉原来的Subsystem sftp行
# Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO -f AUTH

# 添加新的配置
Subsystem sftp internal-sftp -l INFO -f AUTH

# 匹配用户组sftp,并限制chroot目录
Match Group sftp
    ChrootDirectory /data/sftp/%u
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

6. 设置Chroot目录权限

确保Chroot目录的权限设置正确:

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

7. 创建SFTP用户可写入的目录

在用户的chroot目录下创建一个目录,供用户上传文件:

sudo mkdir -p /data/sftp/sftpuser/upload
sudo chown sftpuser:sftp /data/sftp/sftpuser/upload
sudo chmod 755 /data/sftp/sftpuser/upload

8. 修改SELinux配置(如果适用)

如果你的系统启用了SELinux,需要将其设置为宽松模式或禁用:

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo setenforce 0

9. 重启SSH服务

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

sudo systemctl restart sshd

10. 验证SFTP配置

使用新创建的用户登录,验证SFTP配置是否成功:

sftp sftpuser@127.0.0.1

如果一切配置正确,你应该能够成功登录SFTP,并开始使用SFTP进行文件传输。

以上就是在Linux中配置SFTP的基本步骤。请注意,具体的配置可能会因Linux发行版和具体需求而有所不同。在进行配置时,请根据实际情况进行调整。

0
看了该问题的人还看了