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 )。

  1. 创建 SFTPGo 存储库:
1ARCH=`uname -m` \
2curl -sS https://ftp.osuosl.org/pub/sftpgo/yum/${ARCH}/sftpgo.repo | sudo tee /etc/yum.repos.d/sftpgo.repo
  1. 重新加载软件包数据库并安装 SFTPGo:
1sudo yum update
2sudo yum install sftpgo
  1. 启动 SFTPGo 服务并使其在系统启动时启动
1sudo systemctl enable sftpgo --now
  1. 防火墙开放相关服务端口
1sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
2sudo firewall-cmd --permanent --zone=public --add-port=2022/tcp
3sudo firewall-cmd --reload
  1. 若要修改默认管理端口(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 菜单下:

  1. 创建用户和密码,如:sftp
  2. [Filesystem] > [Home Dir] 框输入系统中要共享目录的绝对路径,如:D:\Downloads
  3. [ACLs] > [Permissions] 中可配置用户访问权限,默认为 * 即“完全控制权限”;
  4. 点击最下方 【Submit】 完成配置,即可通过 SFTP 客户端下载文件。

2.2 进阶配置

2.2.1 Folders

  1. 创建待共享目录,如:Downloads
  2. [Filesystem] > [Home Dir] 框输入系统中要共享目录的绝对路径,如:D:\Downloads
  3. 点击最下方 【Submit】 完成配置。

2.2.2 Groups

  1. 创建组,如: panda
  2. [Virtual folders] 创建虚拟目录名,如 :MyDownloads 映射到 Downloads 目录,或直接 / 映射到根目录;
  3. [ACLs] > [Per-directory permissions] 下配置每个目录单独权限,如 /MyDownloads/Software 配置的是 D:\Downloads\Software 目录访问权限,或直接 /MyDownloads配置的是 D:\Downloads 目录访问权限;
  4. 点击最下方 【Submit】 完成配置。

2.2.3 Users

  1. 创建用户和密码,如:sftp
  2. 在** [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