Cette page est affichée en anglais. Une traduction française est en cours.
SkillsMay 4, 2026·3 min de lecture

SFTPGo — Self-Hosted Secure File Transfer Server

SFTPGo is a full-featured SFTP, FTP/S, WebDAV, and HTTP/S file server written in Go, supporting virtual folders, multiple storage backends including S3 and GCS, and a web admin interface for user and quota management.

Prêt pour agents

Cet actif peut être lu et installé directement par les agents

TokRepo expose une commande CLI universelle, un contrat d'installation, le metadata JSON, un plan selon l'adaptateur et le contenu raw pour aider les agents à juger l'adaptation, le risque et les prochaines actions.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
SFTPGo File Server
Commande CLI universelle
npx tokrepo install c41cdc5e-4771-11f1-9bc6-00163e2b0d79

Introduction

SFTPGo is a modern, fully-featured file transfer server that supports SFTP, SCP, FTP/S, WebDAV, and HTTP/S file sharing. Written in Go, it replaces legacy OpenSSH-based SFTP setups with a secure, performant server that includes a web admin panel, virtual users (no OS accounts needed), and pluggable storage backends.

What SFTPGo Does

  • Serves files via SFTP, SCP, FTP/S, WebDAV, and HTTP/S from a single process
  • Manages virtual users with quotas, bandwidth limits, and per-directory permissions
  • Supports multiple storage backends: local disk, S3, GCS, Azure Blob, and encrypted local
  • Provides a web admin panel and REST API for user and configuration management
  • Triggers event actions (webhooks, scripts, email) on file upload, download, or deletion

Architecture Overview

SFTPGo is a single Go binary with an event-driven architecture. Each protocol (SFTP, FTP, WebDAV, HTTP) runs as a listener sharing a common virtual filesystem layer. User data is stored in SQLite, PostgreSQL, or MySQL. The virtual filesystem abstraction maps user home directories to any storage backend transparently.

Self-Hosting & Configuration

  • Deploy via Docker, native packages (deb/rpm), or a single binary download
  • Configure via sftpgo.json, environment variables, or the web admin UI
  • Choose database backend: embedded SQLite for single-node, PostgreSQL for HA
  • Set up TLS certificates for FTPS and HTTPS; SFTP uses SSH host keys
  • Integrate with external auth via LDAP, HTTP hooks, or PAM modules

Key Features

  • Multi-protocol: SFTP, SCP, FTP/S, WebDAV, HTTP/S from one server
  • Virtual users with no OS account requirement and fine-grained permissions
  • Storage backends: local, S3, GCS, Azure Blob, SFTP-to-SFTP proxy, encrypted FS
  • Event system with webhooks, email notifications, and custom scripts
  • Two-factor authentication and IP-based access rules

Comparison with Similar Tools

  • OpenSSH sftp-server — requires OS users, no web UI; SFTPGo uses virtual users with quotas
  • ProFTPD — FTP-focused with complex config; SFTPGo is multi-protocol with modern defaults
  • vsftpd — FTP only, minimal features; SFTPGo adds SFTP, WebDAV, and cloud storage backends
  • Nextcloud — full collaboration suite; SFTPGo is focused on file transfer protocols
  • MinIO — S3-only interface; SFTPGo provides traditional file transfer protocols over any backend

FAQ

Q: Do I need to create Linux users for each SFTP account? A: No. SFTPGo uses virtual users stored in its database. No OS accounts needed.

Q: Can I use S3 as the storage backend? A: Yes. Configure an S3 bucket as a user's home directory or as a virtual folder.

Q: Does it support public key authentication? A: Yes, with per-user authorized keys, certificate auth, and keyboard-interactive methods.

Q: How do I monitor transfers? A: Use the REST API, web admin live connections view, or configure event actions for logging.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires