开源SFTP服务器软件SFTPGo

news2024/9/20 6:32:28

在这里插入图片描述

什么是 SFTPGo?

SFTPGo 是一种事件驱动的文件传输解决方案。它支持多种协议(SFTP、SCP、FTP/S、WebDAV、HTTP/S)和多种存储后端,包括本地文件系统、加密本地文件系统、S3(兼容)对象存储、Google Cloud StorageAzure Blob Storage、其他 SFTP 服务器。

使用 SFTPGo,您可以利用本地和云存储后端,使用您已经熟悉的相同工具和流程在内部或与业务伙伴交换和存储文件。

通过👇这张系统架构图,可能更容易理解 SFTPGo 的功能

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 sftpgo ,选择第一个 drakkan/sftpgo,版本选择 latest

本文写作时, latest 版本对应为 v2.6.2

最近不知道 Docker hub 又发了什么癫,是调整了算法还是什么原因,总之搜出来都是乱七八糟的,不管搜什么,都显示 10000 个项目

docker 文件夹中,创建一个新文件夹 sftpgo,并在其中建两个子文件夹 datakey

文件夹装载路径说明
docker/sftpgo/data/srv/sftpgo存放数据
docker/sftpgo/key/var/lib/sftpgo系统主目录

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口说明
20218080Web UI 的端口
20222022SFTP 协议使用的端口
20232023WebDAV 协议使用的端口

默认没有对外暴露端口

需要点 + 号逐个添加

环境

可变
SFTPGO_WEBDAVD__BINDINGS__0__PORTWebDAV 协议的容器端口,设为 2023

系统默认支持只支持 SFTP 协议,通过环境变量设置,增加了 WebDAV 协议

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 sftpgo 和 子目录
mkdir -p /volume1/docker/sftpgo/{data,key}

# 进入 sftpgo 目录
cd /volume1/docker/sftpgo

# 修改目录所有者
chown -R 1000:1000 {data,key}

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name sftpgo \
   -p 2021:8080 \
   -p 2022:2022 \
   -p 2023:2023 \
   -v $(pwd)/data:/srv/sftpgo \
   -v $(pwd)/key:/var/lib/sftpgo \
   -e SFTPGO_WEBDAVD__BINDINGS__0__PORT=2023 \
   drakkan/sftpgo

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  sftpgo:
    image: drakkan/sftpgo
    container_name: sftpgo
    restart: unless-stopped
    ports:
      - 2021:8080
      - 2022:2022
      - 2023:2023
    volumes:
      - ./data:/srv/sftpgo
      - ./key:/var/lib/sftpgo
    environment:
      - SFTPGO_WEBDAVD__BINDINGS__0__PORT=2023

然后执行下面的命令

# 新建文件夹 sftpgo 和 子目录
mkdir -p /volume1/docker/sftpgo/{data,key}

# 进入 sftpgo 目录
cd /volume1/docker/sftpgo

# 修改目录所有者
chown -R 1000:1000 {data,key}

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

后端(WebAdmin)

在浏览器中输入 http://群晖IP:2021 就能看到注册界面

登录成功后的后台管理的主界面

是否要启用双因素认证,看个人需要了,如果只是局域网,可以不启用

新建 virtual folders

Add 添加,在 Storage 中可以选择类型

  • Storage:选择 Local disk
  • Root directory:填入我们挂载的数据目录 /srv/sftpgo

保存之后,就有了第一个虚拟存储

再新建一个用户用于测试

  • Username:用户名
  • Password:密码

下拉到 Virtual folders 部分,授权用户可使用的目录

  • mount path:用户看到的名称,需要自己输入,例如 /nas
  • Select a path:下拉选择,这是我们前面创建的 Virtual folders

完成后点 Add

Save 保存之后

Sign Out 退出管理端

前端(WebClient)

回到登录界面后,Go to WebClient

输入账号密码

登录成功后,会看到我们授权的目录

可以上传文件

服务器上保存的目录

SFTP 访问

RaiDrive 为例

  • 协议:选择 SFTP 协议
  • 地址:填入SFTPGo 服务地址
  • 端口:填入我们前面设置的本机端口地址 2022
  • 账号:填入 SFTPGo 的用户
  • 密码:填入 SFTPGo 的用户对应的密码

如果是使用 WinSCP,也可以参考上面👆的设置

WebDAV 访问

按安装时的环境变量设置,WebDAV 的访问地址是 http://群晖IP:2023

RaiDrive 为例

  • 协议:选择 WebDAV 协议
  • 地址:填入SFTPGo 服务地址
  • 端口:填入我们前面设置的本机端口地址 2023
  • 账号:填入 SFTPGo 的用户
  • 密码:填入 SFTPGo 的用户对应的密码

如果是使用 WinSCP,也可以参考上面👆的设置

RaiDrive 中添加成功后

可以在资源管理器中直接访问

这和我们在 WebClient 看到的结构是一致的

WinSCP 也是一样的

参考文档

drakkan/sftpgo: Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob
地址:https://github.com/drakkan/sftpgo

SFTPGo - Bring your file transfers anywhere
地址:https://sftpgo.com/

SFTPGo documentation
地址:https://sftpgo.github.io/latest/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1983352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】—— Linux进程状态(R、S、D、T、Z、X)

🌏博客主页:PH_modest的博客主页 🚩当前专栏:Linux跬步积累 💌其他专栏: 🔴 每日一题 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮&#xff0…

全新启航!阿里云向量检索服务Milvus版正式上线!

今天,阿里云正式宣布向量检索服务Milvus版在杭州、上海、北京、深圳四大region正式可用并开放公测!这是由阿里云与产品生态合作伙伴Zilliz联合推出的一款业内领先的云原生向量检索引擎。向量检索服务Milvus版在上一代EMR Serverless Milvus 公测版的基础…

人工智能自动驾驶三维车道线检测—PersFormer模型代码详解

文章目录 1. 背景介绍2. 数据加载和预处理3. 模型结构4. Loss计算5. 总结和讨论 1. 背景介绍 梳理了PersFormer 3D Lane这篇论文对应的开源代码。 2. 数据加载和预处理 数据组织方式参考:自动驾驶三维车道线检测系列—OpenLane数据集介绍。 坐标系参考&#xff…

【Raven2靶场渗透】

文章目录 一、IP获取 二、信息收集 三、Flag1 四、漏洞利用 五、Flag2 六、Flag3 七、MSF UDF提权 八、CVE漏洞本地提权 一、IP获取 Kali IP:192.168.78.128 靶机IP:192.168.78.178 二、信息收集 端口和服务探测: nmap -sV -p- 192.168.78.178 开放…

启发式合并加树形dp

题目链接 令f【x】【0】表示不选根的x子树的最大贡献,f【x】【1】表示选根的x子树最大贡献,g【x】为max(f【x】【0】,f【x】【1】)。 如果我们要连接x和u1,那么贡献是: w【x】w【u1】f【u1】【0…

ASP.NET Core 基础 - 入门实例

一. 下载 1. 下载vs2022 Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com) 学生,个人开发者选择社区版就行,免费的. 安装程序一直下一步下一步就行,别忘了选择安装位置,如果都放在C盘的话,就太大了. 2. 选择工作负荷 准备工作完成 二. 创建新项目 三…

如何用密码保护你的 WordPress 管理员 (wp-admin) 目录

在维护 WordPress 网站时,确保 wp-admin 目录安全是非常重要的。为该目录添加密码保护可以有效提高网站安全性,防止未经授权的访问。这篇文章将介绍实现这一目标的两种方法。 1.为什么要为 wp-admin 目录添加密码保护 WordPress 管理员后台是网站的核心…

自动化集成应用钡铼DB系列防水分线盒

随着工业自动化的快速发展,如今的现场设备需要更高效、更稳定的信号采集和集成方案。钡铼技术的DB系列防水分线盒作为一种优秀的解决方案,成功地结合了先进的工业设计与耐用材料,为物流设备、食品加工设备、制药设备等多种工业应用提供了可靠…

《深入浅出WPF》学习笔记六.手动实现Mvvm

《深入浅出WPF》学习笔记六.手动实现Mvvm demo的层级结构,Mvvm常用项目结构 依赖属性基类实现 具体底层原理后续学习中再探讨,可以粗浅理解为,有一个全局对象使用list或者dic监听所有依赖属性,当一个依赖属性变化引发通知时,就会遍历查询对应的字典,通知View层进行…

目标检测之选择性搜索:Selective Search

文章目录 一.选择性搜索的具体算法二.保持多样性的策略三.给区域打分四.选择性搜索性能评估五.代码实现 论文地址: https://www.koen.me/research/selectivesearch/ 代码地址: https://github.com/AlpacaDB/selectivesearch 参考: https:/…

SpringBootWeb AOP

事务&AOP 1. 事务管理 1.1 事务回顾 在数据库阶段我们已学习过事务了,我们讲到: 事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求。所以这组操作要…

kickstart自动安装脚本,pxe网络安装

目录 1 kickstart图形化生成脚本工具 1.1 安装apache 1.2 创建挂载镜像软链接 1.3 图形生成自动化脚本选项 1.4 修改生成的自动化脚本 1.5 将脚本放至网站根目录 2 安装系统 2.1 关闭DHCP自动分配 2.2 下载配置DHCP服务 2.3 重启DHCP服务 2.4 使用pxe方法安装系统(网…

YOLOv5与YOLOv8 训练准备工作(不包含环境搭建)

前言:我发现除了安装环境需要耗费大量时间以外,对于训练前的准备工作也要琢磨一段时间,所以本篇主要讲一下训练前需要准备的工作(主要是XML格式换为txt,以及划分数据集验证集,和训练参数的设置)…

8–9月,​Sui Move智能合约工作坊将在台北+线上举行

你对区块链和去中心化应用感兴趣吗?想深入学习Sui Move编程语言吗? 从8月10日到9月28日,Sui Mover社区将在每周六下午13:00–17:00举办精彩的工作坊,为期两个月,带你从零基础入门到高级进阶,全面掌握Sui M…

Django配置模板引擎

【图书介绍】《Django 5企业级Web应用开发实战(视频教学版)》_django 5企业级web应用开发实战(视频教学版)-CSDN博客 《Django 5企业级Web应用开发实战(视频教学版)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) 本节主要介…

Linux之进程间通信(上)

目录 进程间通信的目的 进程通信的分类 进程通信之匿名管道 创建匿名管道 匿名管道的特点 匿名管道四种通信类型 在现实生活中,人们要进行合作,就必须进行交流,那么在进程之间,会存在交流的情景吗?答案是肯定的…

音频转换器在线哪个好?提升音频质量的转换工具

你是否曾梦想过将手机里的铃声变成自己的原创作品?或者,有没有想过将一段演讲录音转化为易于分享的MP3格式? 如果答案是肯定的,那么这款音频转换器mp3就是你寻找的答案。现在,让我们一起探索它的魅力吧! 一…

基于MATLAB机器学习、深度学习实践技术

近年来,MATLAB在机器学习和深度学习领域的发展取得了显著成就。其强大的计算能力和灵活的编程环境使其成为科研人员和工程师的首选工具。在无人驾驶汽车、医学影像智能诊疗、ImageNet竞赛等热门领域,MATLAB提供了丰富的算法库和工具箱,极大地…

浏览器用户文件夹详解 - Preferences(十)

1.Preferences简介 1.1 什么是Preferences文件? Preferences文件是Chromium浏览器中用于存储用户个性化设置和配置的一个重要文件。每当用户在浏览器中更改设置或安装扩展程序时,这些信息都会被记录在Preferences文件中。通过这些记录,浏览…

海思ISP记录七:低照度图像调整

Hi3519av100imx585 记录下低照度图像调整的流程和思路 一、环境与配置 环境:暗房不开灯,只有零散漏光和电脑光亮gain与帧率:根据手册我设置的是Again:31282;Dgain:8192;ISP Dgain:…