开源SFTP服务器软件SFTPGo详解

 更新时间:2024年08月06日 11:06:26   作者:杨浦老苏  
SFTPGo 是一种事件驱动的文件传输解决方案,使用 SFTPGo,您可以利用本地和云存储后端,使用您已经熟悉的相同工具和流程在内部或与业务伙伴交换和存储文件,这篇文章给大家介绍开源SFTP服务器软件SFTPGo的相关知识,感兴趣的朋友一起看看吧

什么是 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 diskRoot directory:填入我们挂载的数据目录 /srv/sftpgo

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

再新建一个用户用于测试

Username:用户名Password:密码

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

mount path:用户看到的名称,需要自己输入,例如 /nasSelect 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/

到此这篇关于开源SFTP服务器软件SFTPGo的文章就介绍到这了,更多相关SFTP服务器软件SFTPGo内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 服务被挖矿程序minerd入侵的快速解决方法

    服务被挖矿程序minerd入侵的快速解决方法

    今天一早过来,运维同事发现服务器的负载有点异常,打开top一看,发现有个进程一直占用很高的cpu,这篇文章主要介绍了关于服务被挖矿程序minerd入侵解决方法,需要的朋友可以参考下
    2023-11-11
  • Ubuntu20.04美化桌面dock栏居中方式

    Ubuntu20.04美化桌面dock栏居中方式

    这篇文章主要介绍了Ubuntu20.04美化桌面dock栏居中方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • 解决服务器运行jupyter notebook方法

    解决服务器运行jupyter notebook方法

    这篇文章主要介绍了解决服务器运行jupyter notebook方法,来帮助大家实现服务器跑Jupyter,附含图文以及详细代码,有需要的朋友可以借鉴参考下
    2021-08-08
  • 运维管理器Fabric使用方法

    运维管理器Fabric使用方法

    Fabric是基于Python2.5版本以上实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能
    2016-08-08
  • MongoDB学习笔记(二) 通过samus驱动实现基本数据操作

    MongoDB学习笔记(二) 通过samus驱动实现基本数据操作

    传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由(database)、集合(collection)、文档对象(document)三个层次组成
    2013-07-07
  • Windows远程数据、文件同步工具cwRsync配置方法

    Windows远程数据、文件同步工具cwRsync配置方法

    这篇文章主要介绍了Windows远程数据、文件同步工具cwRsync配置方法,需要的朋友可以参考下
    2015-10-10
  • 教你如何组装raid5及raid1磁盘阵列服务器

    教你如何组装raid5及raid1磁盘阵列服务器

    最近又亲手给一个朋友组装了一台采用双核心P4 820D处理器的8硬盘的1U机架式存储型服务器,在组装过程中,分别组建了硬件Raid5和软件Raid5的磁盘阵列,过程很值得玩味,现在写出详细的设置过程,以期抛砖引玉
    2023-04-04
  • Win2003 Server DHCP服务器安装图解教程

    Win2003 Server DHCP服务器安装图解教程

    为了节省IP地址资源,IP地址采用了DHCP自动分配方式
    2012-10-10
  • 图解SVN服务器搭建和使用(一)

    图解SVN服务器搭建和使用(一)

    SVN全称SubVersion,svn是一个优秀的版本控制工具,是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改。最近有很多网友问我svn服务怎么搭建和使用?下面小编抽个时间把这个问题给大家解决了,有需要的朋友可以参考下。
    2015-09-09
  • Kubernetes特别属性的标签Label的强大作用

    Kubernetes特别属性的标签Label的强大作用

    这篇文章主要为大家介绍了Kubernetes特别属性的标签Label的强大作用介绍,希望可以对大家有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03

最新评论