当前位置: 首页 > news >正文

Linux下使用openssh搭建sftp服务

创建 SFTP 用户组

为 SFTP 用户创建一个专用组:

sudo groupadd sftpusers

创建 SFTP 用户

创建 SFTP 用户并将其添加到 sftpusers 组,同时指定用户的主目录和禁止 shell 访问

sudo useradd -g sftpusers -s /sbin/nologin username
sudo passwd username

配置 SSH 以限制 SFTP 访问

编辑 SSH 配置文件 /etc/ssh/sshd_config:(编辑前记得备份

sudo nano /etc/ssh/sshd_config

找到并修改或添加以下内容:

Subsystem sftp internal-sftpMatch Group sftpusersChrootDirectory /var/sftp/%uForceCommand internal-sftpAllowTcpForwarding noX11Forwarding no
  • Match Group sftpusers表示后面配置将仅应用于属于 sftpusers 组的用户。

  • ChrootDirectory /var/sftp/%u将用户的根目录限制到 /var/sftp/ 下的用户目录(%u 表示用户名),防止用户访问授权目录之外的内容。

  • ForceCommand internal-sftp强制用户进入 SFTP 模式,禁止通过 SSH 登录到交互式 shell。

  • AllowTcpForwarding no禁用 TCP 转发,防止用户通过 SSH 隧道转发 TCP 流量。

  • X11Forwarding no禁用 X11 转发,防止用户通过 SSH 隧道转发 X11 图形界面应用程序。

设置 Chroot 目录结构

为 SFTP 用户设置目录结构:(如果有多个用户用来访问sftp,那么需要为每个用户都创建一个/var/sftp/username目录)

sudo mkdir -p /var/sftp/username
sudo chown root:root /var/sftp/username
sudo chmod 755 /var/sftp/username
sudo mkdir /var/sftp/username/files
sudo chown username:sftpusers /var/sftp/username/files
sudo chmod 755 /var/sftp/username/files

重启 SSH 服务

重启 SSH 服务以应用更改:

sudo systemctl restart sshd

验证设置

使用 SFTP 客户端测试连接:

sftp username@localhost

使用winSCP客户端测试连接:

登录成功后,只能在访问自己的文件目录,且根目录下只有读权限,files目录下具有读写权限。

通过上述步骤,可以确保 SFTP 用户只能访问其授权的目录,并且无法通过 SSH 登录系统。这些措施可以有效地提高文件传输的安全性。

相关文章:

  • A. Row GCD(gcd的基本性质)
  • Linux Shell编程和循环语句
  • Sui Basecamp 2025 全栈出击
  • Spring 是什么?它解决了什么问题?
  • Django之账号登录及权限管理
  • GrassRoot备份项目
  • uniapp项目打包的微信小程序,设置uni-popup type=“bottom“时,底部有空隙
  • Qt实现车载多媒体项目,包含天气、音乐、视频、地图、五子棋功能模块,免费下载源文件!
  • Amazon Redshift 使用场景解析与最佳实践
  • 全连接神经网络学习笔记
  • 学习黑客什么是 ARP
  • AutoGen 框架解析:微软开源的多人 Agent 协作新范式
  • 每日学习:DAY24
  • Spring AI 入门(持续更新)
  • 深入解析建造者模式(Builder Pattern)——以Java实现复杂对象构建的艺术
  • 支持鸿蒙next的uts插件
  • 计算机学习路线与编程语言选择(信息差)
  • LLaMA模型本地部署全攻略:从零搭建私有化AI助手
  • 突破网络限制:Windows平台离线搭建Linux环境+Docker化部署AI知识库RAGFlow实战
  • 平板收银系统、国产系统,鸿蒙系统,小键盘的封装与应用—仙盟创梦IDE
  • A股三大股指低收:银行股再度走强,两市成交11920亿元
  • 援藏博士张兴堂已任西藏农牧学院党委书记、副校长
  • 美联储宣布维持基准利率不变
  • 外交部回应中美经贸高层会谈:这次会谈是应美方请求举行的
  • 公积金利率降至历史最低!多项房地产利好政策落地,购房者置业成本又降了
  • 央行行长详解降准:将释放长期流动性1万亿,整体存款准备金率平均水平降至6.2%