linux

SFTP服务器配置指南

小樊
50
2025-10-29 15:20:51
栏目: 云计算

SFTP服务器配置指南(Linux系统)

一、SFTP概述

SFTP(SSH File Transfer Protocol)是基于SSH协议的安全文件传输协议,具备以下核心优势:

二、前置准备

1. 系统要求

三、安装OpenSSH服务器

SFTP依赖OpenSSH服务,大多数Linux系统默认安装,未安装时可通过以下命令完成:

安装完成后,启动SSH服务并设置开机自启:

sudo systemctl start sshd && sudo systemctl enable sshd

验证服务状态:

sudo systemctl status sshd  # 应显示“active (running)”

四、配置SFTP服务

1. 修改SSH配置文件

编辑/etc/ssh/sshd_config(需root权限),按以下要求调整配置:

sudo nano /etc/ssh/sshd_config

:若需允许普通SSH登录(非SFTP用户),可将Match Group改为Match User sftpuser(针对单个用户)。

2. 创建SFTP用户及组

3. 配置用户目录权限

SFTP的ChrootDirectory要求用户主目录必须由root拥有,且权限为755(防止用户修改目录结构):

sudo chown root:root /home/sftpuser  # 主目录所有者为root
sudo chmod 755 /home/sftpuser        # 主目录权限为755

:若需多个上传目录,可重复上述步骤(如/home/sftpuser/downloads)。

五、重启SSH服务应用配置

修改配置文件后,需重启SSH服务使更改生效:

sudo systemctl restart sshd  # Debian/Ubuntu/CentOS/RHEL

或(旧版本系统):

sudo service sshd restart

六、测试SFTP连接

1. 命令行测试

使用SFTP客户端连接服务器(以sftpuser为例):

sftp sftpuser@your_server_ip

输入密码后,若成功登录,将显示SFTP提示符(sftp>),可执行以下基本命令:

ls          # 列出远程目录内容
cd uploads  # 切换至上传目录
put local_file.txt  # 上传本地文件至远程
get remote_file.txt # 下载远程文件至本地
mkdir test  # 创建远程目录
exit        # 退出SFTP会话

2. 图形化工具测试

推荐使用以下工具(需提前安装):

七、安全注意事项

1. 禁用root登录

编辑/etc/ssh/sshd_config,设置:

PermitRootLogin no  # 禁止root用户直接SSH登录

重启SSH服务:

sudo systemctl restart sshd

2. 使用密钥认证(更安全)

重启SSH服务后,仅能通过密钥登录。

3. 防火墙配置

确保防火墙允许SSH(默认端口22)流量:

4. 定期更新系统

保持系统和软件包最新,修复安全漏洞:

sudo apt update && sudo apt upgrade -y  # Debian/Ubuntu
sudo yum update -y                      # CentOS/RHEL

0
看了该问题的人还看了