Skip to content

Latest commit

 

History

History
72 lines (54 loc) · 5.04 KB

File metadata and controls

72 lines (54 loc) · 5.04 KB

ApacheMinaSSHD.NET Developer Guide

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.

Who Is This For?

  • .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

Version Compatibility

Component Version
.NET 9.0, 10.0
Bundled Apache MINA SSHD 2.18.0
IKVM 8.15.0+

What You'll Learn

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

Sample Projects

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

Installation

dotnet add package ApacheMinaSSHD.NET.Wrapper

One 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.