官网:SFTP & FTP as a Managed Service (SaaS) and On-premise
一、SFTPGo简介
SFTPGo 是一款功能强大的文件传输服务器软件。它支持多种协议(SFTP、SCP、FTP/S、WebDAV、HTTP/S)和多个存储后端。
借助 SFTPGo,您可以利用本地和云存储后端在内部或与业务合作伙伴交换和存储文件,并使用您已经熟悉的相同工具和流程。
WebAdmin UI 允许轻松创建和管理您的用户、文件夹、组和其他资源。
WebClient UI 允许最终用户更改其凭据、在浏览器中浏览和管理其文件,并设置适用于 Microsoft Authenticator、Google Authenticator、Authy 和其他兼容应用程序的双因素身份验证。
二、SFTPGo配置文件
###创建数据目录
# mkdir /opt/sftpgo/data
###数据目录授权,此步骤跳过会造成服务启动时提示创建目录没权限
# chmod -R 777 /opt/sftpgo/data
###创建yml配置文件
# vi /opt/sftpgo/docker-compose.yml
version: '3.7'
services:
sftpgo:
container_name: sftpgo
image: drakkan/sftpgo:v2.6.4-alpine
environment:
SFTPGO_FTPD__BINDINGS__0__FORCE_PASSIVE_IP: 192.168.1.1 #FTP服务器访问地址
SFTPGO_FTPD__BINDINGS__0__PORT: 2121 #FTP文件传输协议端口
SFTPGO_FTPD__PASSIVE_PORT_RANGE__END: 50100 #FTP数据传输范围(结束端口)
SFTPGO_FTPD__PASSIVE_PORT_RANGE__START: 50000 #FTP数据传输范围(开始端口)
SFTPGO_SFTPD__BINDINGS__0__PORT: 2022 # SFTP安全文件传输协议端口
SFTPGO_WEBDAVD__BINDINGS__0__PORT: 10080 #WebDAV网页文件传输协议端口
volumes:
- ./data/data:/srv/sftpgo
- ./data/config:/var/lib/sftpgo
ports:
- 8080:8080 #SFTPGo网页管理端口
- 2022:2022
- 2121:2121
- 50000-50100:50000-50100
- 10080:10080
restart: always
三、SFTPGo使用
1.初始化
首次登录地址 http://localhost:8080/web/admin,请替换为适当的 IP 地址,创建第一个管理员和一个新的 SFTPGo 用户
注:
- **Storage:**支持多种存储协议(本地磁盘、S3、SFTP、Azure Blob、HTTP协议等)
- **Root directory :**选择本地存储时,此存储路径是容器内的路径
2.创建虚拟文件夹
虚拟文件夹是 SFTPGo 虚拟路径与用户主目录外部或其他存储提供程序上的文件系统路径之间的映射。
3.创建用户组
使用组允许您将设置分配给组一次,而不是将设置分配给每个用户多次,从而简化了多个账户的管理。
SFTPGo 支持以下类型的组:主要组、辅助组、成员身份组
注:
- File system:用户组可以创建关联该组的数据目录
- Virtual folders:关联已有的虚拟文件夹
4.创建用户
创建用户时可以关联用户组和虚拟文件夹,创建用户时又很多附件权限可选择(ACLs、密钥证书、组、虚拟目录等高级选项)
创建用户时,会默认创建一个存储目录。`例:/srv/sftpgo/data/admin` 此地址可以手动修改
5、使用ftp协议访问
5.1.使用windows文件资源管理器访问
打开windows的"文件资源管理器" --- 输入ftp地址"ftp://192.168.1.1/" --- 输入账户密码,登录成功后就可以看到该用户所属的默认数据目录和已授权的虚拟文件夹了。
5.2.使用工具访问
可下载FileZilla、WINSCP 客户端,免费且支持多种协议连接。使用工具登录时需注意不通协议使用端口号不同。建议使用sftp加密协议传输文件,更加安全。
5.3 服务端口
查看服务状态和服务端口号
SFTPGo还有很多高级功能,大家可以慢慢研究~~~