debian

Debian系统如何配置SFTP

小樊
43
2025-10-24 10:11:52
栏目: 智能运维

Debian系统配置SFTP详细步骤

SFTP(SSH File Transfer Protocol)是基于SSH协议的加密文件传输工具,Debian系统可通过OpenSSH服务器快速部署。以下是具体配置流程:

1. 安装OpenSSH服务器

Debian系统默认包含OpenSSH服务器,若未安装,可通过以下命令完成安装:

sudo apt update
sudo apt install openssh-server

安装完成后,SSH服务会自动启动(默认端口为22)。

2. 配置SSH服务器以支持SFTP

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

sudo nano /etc/ssh/sshd_config

3. 创建专用SFTP用户组及用户

为提升管理便利性,建议创建专门的SFTP用户组,并将用户添加至该组:

# 创建sftpusers组
sudo groupadd sftpusers

# 创建新用户(如"sftpuser")并设置密码
sudo adduser sftpuser

# 将用户添加至sftpusers组(-aG表示追加至组,避免移出原有组)
sudo usermod -aG sftpusers sftpuser

若需创建用户时不设置密码(通过密钥登录),可使用adduser --disabled-password sftpuser

4. 设置用户主目录权限

SFTP用户的根目录(ChrootDirectory)必须满足以下条件:

# 设置主目录所有者为root
sudo chown root:root /home/sftpuser

# 设置主目录权限为755
sudo chmod 755 /home/sftpuser

若需让用户上传文件,需在主目录下创建可写子目录(如upload):

# 创建上传目录
sudo mkdir /home/sftpuser/upload

# 设置上传目录所有者为用户自身(允许写入)
sudo chown sftpuser:sftpusers /home/sftpuser/upload

# 设置上传目录权限为755(或775,根据需求调整)
sudo chmod 755 /home/sftpuser/upload

5. 重启SSH服务使配置生效

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

sudo systemctl restart sshd

可通过sudo systemctl status sshd检查服务状态(显示“active (running)”即为正常)。

6. 验证SFTP连接

使用SFTP客户端(如Linux终端、WinSCP)连接服务器,验证配置是否成功:

sftp sftpuser@your_server_ip

输入密码后,若成功登录并显示主目录列表(如/home/sftpuser),则说明配置生效。可尝试上传/下载文件至upload目录,确认写入权限正常。

常见问题排查

0
看了该问题的人还看了