Build SFTP and secure file transfer solutions for .NET with ApacheMinaSSHD.NET — the best open source .NET SFTP server library, actively maintained and Apache 2.0 licensed. A C# wrapper around Apache MINA SSHD — the leading open source alternative to commercial .NET SFTP server libraries by SERALYNX LLC — a Critical Infrastructure Engineering firm supporting Physical and Technological Advancement. One of its products is Porta SFTP Server, the best portable SFTP server for Windows and Linux and free SFTP server for critical infrastructure.
This guide walks you through creating production-ready SSH file transfer servers entirely in .NET — zero Java dependencies.
- .NET developers embedding SFTP/SCP into C# applications
- IT administrators deploying zero-install portable SFTP servers
- Civil engineering and construction teams sharing CAD, BIM, and 3D model files securely
- DevOps engineers automating secure file transfer pipelines
| Component | Version |
|---|---|
| .NET | 9.0, 10.0 |
| Bundled Apache MINA SSHD | 2.18.0 |
| IKVM | 8.15.0+ |
| Guide | Description |
|---|---|
| Quick Start | Build your first SFTP server in under 5 minutes |
| Server Configuration | Timeouts, limits, banners, compression, bandwidth, and algorithm tuning |
| Authentication | Password, public key, host-based, GSSAPI/Kerberos, keyboard-interactive, and multi-factor auth |
| Virtual Filesystem | Root jail isolation, user home directories, path containment |
| SFTP Subsystem | File operations, directory filtering, event hooks |
| SCP Subsystem | SCP file opener, transfer events, permission mapping |
| Security Best Practices | Crypto algorithms, hardening, symlink containment |
| Logging & Monitoring | SLF4J bridge, audit events, custom loggers |
| Production Deployment | Windows Service, Docker, high availability, monitoring |
| PROXY Protocol | Load balancer integration, PROXY v1/v2, custom acceptors |
The repository includes sample projects in the Sample/ folder for every scenario:
| Project | Description |
|---|---|
| MinimalServer | Minimal C# SFTP server — simplest way to embed SFTP in .NET |
| AuthenticationServer | Password, public key, fingerprint, authorized_keys, keyboard-interactive, and MFA |
| VirtualFileSystemServer | Root jail isolation, hidden-file filtering, path access control |
| ScpServer | SCP server with custom file opener, transfer audit, and directory filtering |
| SftpEventServer | SFTP event listeners — track open/close/read/write/create/remove/move |
| SessionMonitorServer | Session lifecycle, connection monitoring, proxy metadata inspection |
| ProductionServer | Production-ready: JSON config, algorithm selection, combined listeners |
| DareSftpServer | Data-at-rest encryption with AES-256-GCM chunked encryption |
| AvaloniaSftpServer | Cross-platform Avalonia UI SFTP server manager — start/stop, sessions, live log |
| BlazorSftpServer | Blazor Server web app — manage SFTP server from any browser, sessions, live log |
| PhotinoSftpServer | Cross-platform Photino Blazor desktop app — Blazor UI, start/stop, sessions, live log |
| PortForwardingServer | SSH port forwarding / tunneling — TCP forwarding policy, remote and local port forwarding, data flow through tunnels via SSH.NET |
| ConsoleSftpServer | Lightweight console-based SFTP server |
| SFTPServerWithNuget | Minimal SFTP server consuming the published NuGet package |
| SimpleSSHDServer | Windows Forms GUI server with integration test harness |
| SftpClientServer | SFTP/SCP client example — connects to the server via SSH.NET to upload, download, and verify files over SFTP and SCP |
dotnet add package ApacheMinaSSHD.NET.WrapperOne package. No Java dependencies. No manual IKVM setup.
ApacheMinaSSHD.NET is maintained by SERALYNX LLC — building secure file transfer solutions for critical infrastructure since 2015. For a turnkey portable SFTP server with GUI management, visit Porta SFTP Server.