Zum Inhalt
Kuonen.Remote

.NET-Schnittstelle

Remote als Bibliothek: Pakete, Einstieg, ein Beispiel.

Die App ist eine Schicht über öffentlichen Bibliotheken. Was sie kann, steht auch eigenen Programmen offen: Dateien übertragen und synchronisieren, SSH-Befehle ausführen, Tunnel öffnen, Schlüssel erzeugen. Die Bibliotheken sind für .NET 10, AOT- und trimming-tauglich und haben keine fremden Abhängigkeiten.

Pakete

PaketInhalt
Kuonen.Remote.Motorder Einstieg: Sitzungen, Übertragung, Warteschlange, Synchronisierung, Kennwortspeicher, Import
Kuonen.Remote.SshSSH-Client, Kanäle, Weiterleitungen, Schlüssel und Schlüsseldateien, Agent
Kuonen.Remote.Sftp, Kuonen.Remote.ScpSFTP und SCP
Kuonen.Remote.Ftp, Kuonen.Remote.WebDav, Kuonen.Remote.S3FTP/FTPS, WebDAV, S3
Kuonen.Remote.TerminalTelnet, Rlogin, Raw, SUPDUP, seriell, Terminal-Emulator
Kuonen.Remote.GemeinsamFehler, Mitschnitt, gemeinsame Bausteine
Kuonen.Kryptodie Kryptografie (ML-KEM, sntrup761, X25519, Ed25519, ChaCha20-Poly1305 …)
Kuonen.Licensingdie Lizenzprüfung

Ein Verweis auf Kuonen.Remote.Motor zieht alle übrigen nach. Die Pakete stehen auf der Seite Download.

Beispiel

var profil = Sitzungsprofil.AusAdresse("sftp://anna@server.example/", out _);
profil.Schluesseldatei = "~/.ssh/id_ed25519";
profil.Hostschluessel = "SHA256:…";

await using var system = await Sitzung.OeffneDateisystemAsync(profil, new MeinDialog(), kennwort: null, CancellationToken.None);
await new Uebertragung(LokalesDateisystem.Instanz, system)
    .UebertrageDateiAsync("bericht.pdf", "/home/anna/bericht.pdf", CancellationToken.None);

MeinDialog implementiert ISitzungsDialog und beantwortet, was sonst die App fragt: Kennwort, Passphrase, unbekannter Hostschlüssel oder fremdes Zertifikat. Ist der Hostschlüssel wie oben fest vorgegeben, wird danach nie gefragt.

Welche Funktion wo

FunktionTyp
Dateisystem öffnen (SFTP, SCP, FTP, WebDAV, S3)Sitzung.OeffneDateisystemAsync, IDateisystem
Hoch- und Herunterladen, Fortsetzen, Masken, DrosselnUebertragung, UebertragungsOptionen, Dateimaske
parallele WarteschlangeWarteschlange, Auftrag
Synchronisieren, Ordner beobachtenSynchronisierung, OrdnerBeobachter
SSH-Befehle und TerminalSshClient, SshVerbindung, SshKanal
WeiterleitungenWeiterleitung, WeiterleitungsRegel
Proxy und SprunghostProxyOptionen, SshClientOptionen.Sprunghost
Telnet, Rlogin, Raw, SUPDUP, seriellTelnetVerbindung, RloginVerbindung, RawVerbindung, SupdupVerbindung, SerielleVerbindung
Schlüssel erzeugen und lesenPrivaterSchluessel.Erzeuge, Schluesseldatei
AgentAgentServer
Sitzungen und KennwörterSitzungsspeicher, Kennwortspeicher, Import