I. 下载安装
点击 GitHub 下载对应系统安装包。
1.1 Windows 安装
【Win + X】打开“PowerShell(管理员)” ,进入指定目录(如下示例):
1cd D:\Portable\SFTPGo
1.1.1 手动运行 SFTPGo
1.\sftpgo.exe serve
1.1.2 将 SFTPGo 注册为服务
在 Windows 上,您可以将 SFTPGo 注册为 Windows 服务。请查看 CLI 用法以了解如何执行此操作:
1PS> sftpgo.exe service --help
2Manage SFTPGo Windows Service
3
4Usage:
5 sftpgo service [command]
6
7Available Commands:
8 install Install SFTPGo as Windows Service
9 reload Reload the SFTPGo Windows Service sending a "paramchange" request
10 rotatelogs Signal to the running service to rotate the logs
11 start Start SFTPGo Windows Service
12 status Retrieve the status for the SFTPGo Windows Service
13 stop Stop SFTPGo Windows Service
14 uninstall Uninstall SFTPGo Windows Service
15
16Flags:
17 -h, --help help for service
18
19Use "sftpgo service [command] --help" for more information about a command.
注册 sftpgo 为服务
1.\sftpgo.exe service install
启动 sftpgo 服务
1.\sftpgo.exe service start
1.1.3 防火墙开放相关服务端口
1New-NetFirewallRule -DisplayName "AllowInboundSFTPGo" -Direction Inbound -LocalPort 2022 -Protocol TCP -Action Allow
若要修改默认管理端口(8080)或 SFTP 服务端口(2022),请在 SFTPGo 安装目录修改
1..\SFTPGo\sftpgo.json
1.2 YUM 存储库安装
YUM 资料档案库支持基于 Red Hat 的通用分发(参考文档:GitHub )。
- 创建 SFTPGo 存储库:
1ARCH=`uname -m` \
2curl -sS https://ftp.osuosl.org/pub/sftpgo/yum/${ARCH}/sftpgo.repo | sudo tee /etc/yum.repos.d/sftpgo.repo
- 重新加载软件包数据库并安装 SFTPGo:
1sudo yum update
2sudo yum install sftpgo
- 启动 SFTPGo 服务并使其在系统启动时启动
1sudo systemctl enable sftpgo --now
- 防火墙开放相关服务端口
1sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
2sudo firewall-cmd --permanent --zone=public --add-port=2022/tcp
3sudo firewall-cmd --reload
- 若要修改默认管理端口(8080)或 SFTP 服务端口(2022),请在如下路径修改
1/etc/sftpgo/sftpgo.json
1.3 macOS 安装
将 SFTPGo 作为服务运行的最简单方法是从 Homebrew Formula 安装它。
II. 初始配置
在使用 SFTPGo 之前,你需要创建一个管理账户(如 root 用户),因此在网络浏览器中打开 http://127.0.0.1:8080/web/admin ,如果SFTPGo不是在 localhost 上运行,就用适当的 IP 地址替换 127.0.0.1 。
2.1 快速使用
在 Users 菜单下:
- 创建用户和密码,如:
sftp
; - 在 [Filesystem] > [Home Dir] 框输入系统中要共享目录的绝对路径,如:
D:\Downloads
; - 在 [ACLs] > [Permissions] 中可配置用户访问权限,默认为
*
即“完全控制权限”; - 点击最下方 【Submit】 完成配置,即可通过 SFTP 客户端下载文件。
2.2 进阶配置
2.2.1 Folders
- 创建待共享目录,如:
Downloads
- 在 [Filesystem] > [Home Dir] 框输入系统中要共享目录的绝对路径,如:
D:\Downloads
; - 点击最下方 【Submit】 完成配置。
2.2.2 Groups
- 创建组,如:
panda
- 在 [Virtual folders] 创建虚拟目录名,如 :
MyDownloads
映射到Downloads
目录,或直接/
映射到根目录; - 在 [ACLs] > [Per-directory permissions] 下配置每个目录单独权限,如
/MyDownloads/Software
配置的是D:\Downloads\Software
目录访问权限,或直接/MyDownloads
配置的是D:\Downloads
目录访问权限; - 点击最下方 【Submit】 完成配置。
2.2.3 Users
- 创建用户和密码,如:
sftp
; - 在** [Groups] > [Primary group]** 选择在 Groups 中创建的
panda
组。
2.3 启用 HTTPS
参考文档:SFTPGo
2.3.1 为 SFTPGo Web UI 和 REST API 启用 HTTPS
可以通过创建包含以下内容的文件来使用环境变量。/etc/sftpgo/env.d/httpd.env
1SFTPGO_HTTPD__BINDINGS__0__PORT=9443
2SFTPGO_HTTPD__BINDINGS__0__ENABLE_HTTPS=1
3SFTPGO_HTTPD__BINDINGS__0__CERTIFICATE_FILE="/var/lib/sftpgo/certs/sftpgo.com.crt"
4SFTPGO_HTTPD__BINDINGS__0__CERTIFICATE_KEY_FILE="/var/lib/sftpgo/certs/sftpgo.com.key"
2.3.2 修改相关文件权限
1# 修改环境变量权限
2chown sftpgo:sftpgo /etc/sftpgo/env.d/httpd.env
3# 修改SSL证书权限
4chown -R sftpgo:sftpgo /var/lib/sftpgo/certs/
重新启动 SFTPGo 以应用更改。HTTPS 服务现在在端口上可用,注意新绑定端口为 9443
。
III. 参考文档
介绍文档:SFTPGo GitHub