linux

SFTP服务器如何搭建

小樊
54
2025-03-19 00:18:03
栏目: 云计算

搭建SFTP服务器主要有以下步骤:

安装OpenSSH服务

在Linux系统中,大多数发行版默认安装了OpenSSH客户端和服务端。如果没有安装,可以使用系统的包管理器如aptyum进行安装。例如,在基于Debian的系统上,可以使用以下命令安装OpenSSH:

sudo apt update
sudo apt install openssh-server

创建SFTP用户组和用户

使用groupadd命令创建一个新的用户组,例如命名为sftp

sudo groupadd sftp

然后,创建SFTP用户并指定其登录shell为/bin/false,以禁止shell访问。同时将这些用户加入之前创建的组:

sudo useradd -g sftp -s /bin/false sftp_user

为SFTP用户设置密码:

sudo passwd sftp_user

配置文件和目录权限

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

Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /home/sftp_user
AllowTcpForwarding no
X11Forwarding no

这里,/home/sftp_user是SFTP用户的根目录。ChrootDirectory参数限制了用户只能访问其指定的家目录。

设定目录权限,确保新创建的目录具有适当的权限(通常为700),并且归属于对应的用户和用户组:

sudo mkdir /home/sftp_user
sudo chown sftp_user:sftp /home/sftp_user
sudo chmod 700 /home/sftp_user

重启SSH服务

保存配置文件后,需要重启SSH服务以应用更改:

sudo systemctl restart sshd

或者

sudo service ssh restart

连接测试

使用SFTP客户端软件(如FileZilla)或sftp命令尝试连接到服务器,验证用户能够登录并且只能访问其家目录。

以上步骤提供了在Linux系统上搭建SFTP服务器的基本流程。请根据您的具体需求和操作系统版本进行相应的调整。

0
看了该问题的人还看了