Lyo.FileStorage.Sftp 3.0.0

dotnet add package Lyo.FileStorage.Sftp --version 3.0.0
                    
NuGet\Install-Package Lyo.FileStorage.Sftp -Version 3.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Lyo.FileStorage.Sftp" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Lyo.FileStorage.Sftp" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Lyo.FileStorage.Sftp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Lyo.FileStorage.Sftp --version 3.0.0
                    
#r "nuget: Lyo.FileStorage.Sftp, 3.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Lyo.FileStorage.Sftp@3.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Lyo.FileStorage.Sftp&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Lyo.FileStorage.Sftp&version=3.0.0
                    
Install as a Cake Tool

Lyo.FileStorage.Sftp

Lyo.FileStorage physical-IO backend for SFTP. Save, read, delete, copy, move, and DEK header rotation work. v1 does not implement presigned URLs or multipart (the base throws NotSupportedException).

Features

  • Shared remote storage core. SFTPFileStorageService subclasses RemoteFileStorageServiceBase in Lyo.FileStorage, which already covers streaming, encryption-header handling, copy/move, and health. What this package adds is SftpRemoteFileTransport (IRemoteFileTransport over Lyo.Sftp.Client), plus options and DI.
  • SFTP physical IO. Commit-on-close upload and a leased read stream.
  • Path jail. POSIX paths rooted at Sftp.RootRemoteDirectory.
  • DI. AddSftpFileStorageService and AddSftpFileStorageServiceFromConfiguration, matching the Blob extensions.

Examples

DI setup

services.AddSftpFileStorageService(o =>
{
    o.Sftp.Host = "sftp.example.com";
    o.Sftp.Username = "lyo";
    o.Sftp.Password = secret;
    o.Sftp.RootRemoteDirectory = "/files";
    o.Sftp.HostKeyPolicy = SftpHostKeyPolicy.FingerprintAllowList;
    o.Sftp.AllowedHostKeyFingerprints.Add("SHA256:...");
});

Factory and single-store builder

using Lyo.FileStorage;
using Lyo.FileStorage.Sftp;

services.AddSftpFileStorage(sftp => sftp.Configure(options => options.Sftp.Host = "sftp.example.com"));

services.AddFileStorageFactory(stores => stores.AddSftp("drop", sftp => sftp.Configure(options =>
{
    options.Sftp.Host = "sftp.example.com";
    options.Sftp.Username = "lyo";
    options.Sftp.RootRemoteDirectory = "/files";
})));

Dependencies

Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).

  • Lyo.Compression (direct, lyo)
  • Lyo.Encryption (direct, lyo)
  • Lyo.Exceptions (direct, lyo)
  • Lyo.FileMetadataStore (direct, lyo)
  • Lyo.FileStorage (direct, lyo)
  • Lyo.Sftp.Client (direct, lyo)
  • Microsoft.Extensions.Configuration.Binder 10.0.5 (direct, microsoft)
  • Microsoft.Extensions.DependencyInjection.Abstractions 10.0.5 (direct, microsoft)
  • Lyo.Common.Core (transitive, lyo)
  • Lyo.Common.Metadata (transitive, lyo)
  • Lyo.Hashing (transitive, lyo)
  • Lyo.Health (transitive, lyo)
  • Lyo.IO.FileSystem (transitive, lyo)
  • Lyo.IO.Temp (transitive, lyo)
  • Lyo.KeyStore (transitive, lyo)
  • Lyo.Metrics (transitive, lyo)
  • Lyo.Result (transitive, lyo)
  • Lyo.Streams (transitive, lyo)
  • BouncyCastle.Cryptography 2.6.2 (transitive, third-party, netstandard2.0)
  • EasyCompressor 2.1.0 (transitive, third-party)
  • Konscious.Security.Cryptography.Argon2 1.3.1 (transitive, third-party)
  • Microsoft.Bcl.AsyncInterfaces 10.0.5 (transitive, microsoft, netstandard2.0)
  • Microsoft.Extensions.Hosting.Abstractions 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Logging.Abstractions 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Options.ConfigurationExtensions 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Options.DataAnnotations 10.0.5 (transitive, microsoft)
  • SSH.NET 2025.1.0 (transitive, third-party)
  • System.Buffers 4.6.1 (transitive, microsoft, netstandard2.0)
  • System.IO.Hashing 10.0.5 (transitive, microsoft, net10.0)
  • System.Memory 4.6.3 (transitive, microsoft, netstandard2.0)
  • System.Text.Json 10.0.5 (transitive, microsoft, netstandard2.0)
  • System.Threading.Tasks.Extensions 4.6.3 (transitive, microsoft, netstandard2.0)
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Lyo.FileStorage.Sftp:

Package Downloads
Lyo.FileManager

Desktop file manager session for a remote FileStorage API or a local disk store.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0 91 10/23/2026
2.0.1 121 9/14/2026
2.0.0 109 9/9/2026
1.0.13 116 8/25/2026
1.0.11 121 8/23/2026
1.0.9 115 8/22/2026
1.0.6 111 8/20/2026
1.0.4 126 8/20/2026
1.0.3 109 8/19/2026
1.0.2 118 8/19/2026
1.0.1 118 8/18/2026
1.0.0 120 8/16/2026