温馨提示×

如何在Debian上搭建SFTP

小樊
51
2025-07-13 02:46:01
栏目: 智能运维

在Debian上搭建SFTP服务器,可以使用OpenSSH软件包。以下是详细步骤:

1. 更新系统

首先,确保你的Debian系统是最新的:

sudo apt update sudo apt upgrade -y 

2. 安装OpenSSH服务器

安装OpenSSH服务器软件包:

sudo apt install openssh-server -y 

3. 配置SSH服务器

编辑SSH配置文件 /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config 

找到并修改以下配置项:

  • #PermitRootLogin prohibit-password 改为 PermitRootLogin no(禁止root用户直接登录)
  • #PasswordAuthentication yes 改为 PasswordAuthentication yes(允许密码认证,也可以使用密钥认证)
  • 添加或修改以下内容以启用SFTP子系统:
    Subsystem sftp internal-sftp Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no 

4. 创建SFTP用户组

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

sudo groupadd sftpusers 

5. 创建SFTP用户

创建一个新用户并将其添加到SFTP用户组:

sudo adduser sftpuser sudo usermod -aG sftpusers sftpuser 

在创建用户时,系统会提示你设置密码。你可以选择是否允许该用户通过SSH登录(通常设置为不允许)。

6. 设置用户主目录权限

确保SFTP用户的主目录权限正确:

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

7. 创建SFTP用户的chroot目录

为SFTP用户创建一个chroot目录,并设置正确的权限:

sudo mkdir /home/sftpuser/uploads sudo chown sftpuser:sftpusers /home/sftpuser/uploads sudo chmod 755 /home/sftpuser/uploads 

8. 重启SSH服务

重启SSH服务以应用配置更改:

sudo systemctl restart sshd 

9. 测试SFTP连接

使用SFTP客户端连接到服务器进行测试:

sftp sftpuser@your_server_ip 

你应该能够成功登录并访问 /home/sftpuser/uploads 目录。

10. 防火墙设置(可选)

如果你启用了防火墙,确保允许SSH和SFTP流量:

sudo ufw allow ssh sudo ufw reload 

通过以上步骤,你就可以在Debian上成功搭建一个SFTP服务器。

0