当前位置: 代码网 > 服务器>软件设计>开源 > 开源SFTP服务器软件SFTPGo详解

开源SFTP服务器软件SFTPGo详解

2024年08月06日 开源 我要评论
什么是 sftpgo?sftpgo 是一种事件驱动的文件传输解决方案。它支持多种协议(sftp、scp、ftp/s、webdav、http/s)和多种存储后端,包括本地文件系统、加密本地文件系统、s3

什么是 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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com