Eigenständiges Produkt Post-Quanten-SSH & SFTP

sgcSSH: SSH- & SFTP-Clients und -Server für Delphi & .NET

Fünf Komponenten decken beide Enden einer SSH-Verbindung ab. TsgcSSHClient führt Remote-Befehle aus, öffnet eine interaktive Shell mit pty und leitet Ports weiter. TsgcSFTPClient und TsgcSCPClient übertragen Dateien und ganze Ordner. TsgcSSHServer und TsgcSFTPServer bringen deinen eigenen SSH- und SFTP-Dienst in deine Anwendung, mit einem Jail pro Benutzer. Den hybriden Post-Quanten-Schlüsselaustausch mlkem768x25519-sha256, den Standard der neuesten SSH-Versionen, bieten Client und Server zuerst an.

Voller Quellcode
Delphi 7 bis 13 & .NET
Schlüsselaustausch ML-KEM-768 + X25519 mlkem768x25519-sha256, auf beiden Seiten zuerst angeboten
Clients SSH, SFTP, SCP
Server SSH, SFTP
5 Komponenten Drei Clients und zwei Server
16 SFTP-Anfragen gleichzeitig Eine 100-MB-Übertragung dauert in einem lokalen Netzwerk etwa eine Sekunde
2 Sprachen Delphi und .NET, dieselben fünf Klassen
100% Quellcode enthalten Jede Komponente und die mitgelieferte Core Runtime
12 Monate Updates Jede Version, die veröffentlicht wird, während deine Lizenz aktiv ist

Drei Dinge, die du vorher wissen solltest

Was sgcSSH von dir braucht, ob du diese Komponenten schon besitzt und worauf die Delphi-Version aufbaut. Alle drei Antworten sind kurz.

sgcSSH ist in sich geschlossen

Eigenständig ist die sgcWebSockets Core Runtime enthalten, zusammen mit der nativen Kryptografie, auf der der Schlüsselaustausch läuft: ML-KEM-768, X25519, ECDH, AES-GCM und die SHA-2-Familie. Ein SKU, ein Installer.

Der volle Quellcode gehört zu jeder Lizenz, sodass du den Protokollcode in deinem eigenen Debugger durchgehen kannst, statt ihn in einer Binärdatei verschwinden zu sehen.

Edition-Überschneidung

Schon in deiner sgcWebSockets-Edition enthalten?

Alle fünf SSH-Komponenten sind in sgcWebSockets Enterprise enthalten, und All-Access enthält alles. Unter .NET gehören sie zum registrierten sgcWebSockets-Paket, nicht zur kostenlosen Community-Edition.

sgcSSH gibt es für den umgekehrten Fall: Du willst SSH und SFTP in deiner Anwendung, ohne eine vollständige sgcWebSockets-Edition zu lizenzieren. Prüfe vor dem Kauf, was deine Edition bereits abdeckt.

Add-on erforderlich

Delphi-SSH braucht sgcCustomIndy

Die Delphi-Komponenten bauen auf den SSH-Units der gepatchten Indy-Bibliothek auf, die sgcCustomIndy als Add-on liefert. sgcCustomIndy ist immer enthalten, wenn du sgcSSH bestellst.

Der angezeigte sgcSSH-Preis deckt sgcCustomIndy bereits ab.

Drei Clients, zwei Server

Jede ist eine nicht visuelle Komponente, die du auf ein Formular ziehst oder im Code erzeugst, registriert auf der Palettenseite SGC SSH. Lege Host und Zugangsdaten fest, verbinde die Ereignisse und verbinde dich dann oder beginne zu lauschen. Die .NET-Klassen tragen dieselben Namen.

SSH-Client1 Komponente

Befehle, Shells und Tunnel

TsgcSSHClient verbindet sich mit einem Passwort oder einem privaten Schlüssel, und OnSSHHostKey liefert dir Typ und Fingerabdruck des Host-Schlüssels zum Abgleich mit deinem Known-Hosts-Speicher. Execute führt einen Befehl aus und gibt seine Ausgabe in einem Aufruf zurück. Für eine interaktive Sitzung öffnen OpenChannel, RequestPTY und RequestShell ein Terminal, SendChannelData schreibt hinein und OnSSHChannelData liefert, was der Server ausgibt, mit SendWindowChange und SendSignal für den Rest des Terminalprotokolls. OpenDirectTCPIP leitet eine lokale Verbindung über den Server weiter, RequestForwarding bittet den Server, einen entfernten Port zu dir zurückzuleiten, und Rekey erneuert die Sitzungsschlüssel einer lange laufenden Verbindung.

TsgcSSHClient exec · shell · pty · Portweiterleitung · rekey
SFTP-Client1 Komponente

Schnelle Dateiübertragungen, je eine Methode

TsgcSFTPClient spricht SFTP v3 über dieselbe SSH-Verbindung. RealPath löst den Home-Ordner auf, ListDirectory liefert Namen, Größen, Datumsangaben und das Ordner-Kennzeichen, und Put und Get laden eine Datei in einem Aufruf hoch und herunter. Rename, Delete, MakeDirectory und RemoveDirectory decken den Rest eines Dateimanagers ab, und OnSFTPProgress meldet die übertragenen Bytes für einen Fortschrittsbalken. Übertragungen halten 16 Anfragen gleichzeitig offen, statt auf jeden Block zu warten, sodass eine 100-MB-Datei in einem lokalen Netzwerk etwa eine Sekunde braucht.

TsgcSFTPClient SFTP v3 · 16 Anfragen gleichzeitig
SCP-Client1 Komponente

Dateien und ganze Ordner mit scp

TsgcSCPClient kopiert Dateien über SSH auf jeden Server, der den Befehl scp erlaubt, ohne separaten Dateiübertragungsdienst. Upload und Download kopieren eine Datei, UploadFolder und DownloadFolder kopieren einen ganzen Ordnerbaum rekursiv, und PreserveTimes behält die Änderungs- und Zugriffszeiten auf der Gegenseite bei. OnSCPProgress meldet den Dateinamen und die übertragenen Bytes.

TsgcSCPClient Dateien · Ordner · Zeiten beibehalten
SSH-Server1 Komponente

Dein eigener SSH-Dienst, in deinem Prozess

TsgcSSHServer lauscht auf dem von dir gewählten Port und weist sich mit Ed25519-, ECDSA- oder RSA-Host-Schlüsseln aus, die aus HostKeyFiles geladen werden, und GenerateHostKeyEd25519 erzeugt einen für dich. OnSSHAuthPassword und OnSSHAuthPublicKey entscheiden, wer hineinkommt, der zweite mit dem Schlüsseltyp und seinem SHA256-Fingerabdruck. OnSSHExec beantwortet Remote-Befehle, OnSSHShell bedient eine interaktive Sitzung, und Subsystem-Anfragen werden an deinen Handler oder an TsgcSFTPServer geleitet. Jeder Standard-SSH-Client kann sich verbinden, auch die Standard-Kommandozeilenwerkzeuge ssh, sftp und scp.

TsgcSSHServer Passwort · öffentlicher Schlüssel · exec · shell · Subsysteme
SFTP-Server1 Komponente

Ein Dateiserver mit einem Jail pro Benutzer

TsgcSFTPServer wird über seine Eigenschaft SFTPServer mit dem SSH-Server verbunden und liefert SFTP v3 und, bei aktiviertem SCP, scp-Übertragungen aus RootFolder. Clients können diesen Ordner nicht verlassen. OnSFTPUserRoot gibt jedem Benutzer einen eigenen Ordner, ReadOnly lehnt Uploads, Löschungen und Umbenennungen ab, und OnSFTPOperation wird bei jedem Öffnen, Entfernen, Umbenennen, Ordnerwechsel, Attributwechsel und Auflisten ausgelöst, sodass du jede Operation erlaubst oder verweigerst und protokollierst. Flusskontrolle hält den Speicherbedarf eines großen Downloads konstant, egal wie groß die Datei ist.

TsgcSFTPServer SFTP v3 · SCP · Jail pro Benutzer · schreibgeschützt

SSH und SFTP aus deinem eigenen Code

Die Komponenten sind gewöhnliche nicht visuelle Komponenten und passen daher in jede Anwendung: eine VCL- oder FMX-Desktop-Anwendung, ein Konsolenwerkzeug, einen Windows-Dienst, einen Linux-Daemon oder einen .NET-Worker. Das sind die Muster, die Kunden bauen, jeweils dem Mitglied zugeordnet, das es antreibt.

Wartungsbefehle auf Linux-Servern ausführen Execute

Starte einen Dienst neu, lies ein Log oder prüfe den Speicherplatz aus einem Delphi- oder .NET-Werkzeug und erhalte die Ausgabe als Zeichenkette.

Ein eingebettetes Terminalfenster RequestPTY

Öffne eine Shell mit pty und zeige sie in deiner eigenen Oberfläche an, für Support-Werkzeuge und Gerätekonsolen.

Geplanter Dateiaustausch mit Partnern Put / Get

Lade Rechnungen hoch und Berichte herunter, per SFTP aus einem Dienst, mit Fortschritts- und Fehlerereignissen.

Eine Datenbank hinter einem Bastion-Host erreichen OpenDirectTCPIP

Leite eine Verbindung über den SSH-Server weiter, statt den Datenbankport zum Netzwerk hin zu öffnen.

Eine SFTP-Dropbox in deinem Produkt OnSFTPUserRoot

Gib jedem Kunden einen privaten Ordner, wobei deine eigene Benutzerdatenbank entscheidet, wer sich anmeldet.

Datenverkehr, der auch in Zukunft privat bleibt PostQuantumKex

Der hybride Austausch aus ML-KEM-768 und X25519 schützt heute aufgezeichnete Sitzungen vor einem künftigen Quantencomputer.

Post-Quanten zuerst, nur moderne Algorithmen

Client und Server handeln die stärksten Algorithmen aus, die beide Seiten unterstützen, beginnend mit dem hybriden Post-Quanten-Schlüsselaustausch. Dafür muss nichts konfiguriert werden.

mlkem768x25519-sha256 wird zuerst angeboten

Der hybride Austausch kombiniert ML-KEM-768 mit X25519, sodass die Sitzungsschlüssel selbst gegen einen Angreifer sicher bleiben, der den Datenverkehr heute aufzeichnet und später einen Quantencomputer besitzt. Er ist der Standard der neuesten SSH-Versionen, und aktuelle SSH-Clients und -Server handeln ihn automatisch aus. PostQuantumKex ist standardmäßig aktiviert.

Klassische Algorithmen als Rückfall

Wenn die Gegenseite ihn nicht unterstützt, fällt der Austausch auf curve25519, ECDH und Diffie-Hellman group14 und group16 zurück. Die Verschlüsselungen sind AES-GCM und AES-CTR, und Host- und Benutzerschlüssel sind Ed25519, ECDSA oder RSA.

Strikter Schlüsselaustausch gegen Terrapin

Der strikte Schlüsselaustausch schließt den Terrapin-Präfix-Abschneideangriff, und server-sig-algs lässt den Client eine RSA-Signatur mit SHA-2 statt der veralteten mit SHA-1 wählen. Private Schlüssel werden aus PEM- und PKCS#8-Dateien geladen, und die .NET-Version liest auch das OpenSSH-Schlüsselformat.

Native Kryptografie auf beiden Plattformen

Der Schlüsselaustausch läuft in Delphi auf den nativen Kryptografie-Units von sgcWebSockets und in .NET auf vollständig verwaltetem Code, ohne dass für die .NET-Version OpenSSL ausgeliefert werden muss. Ab .NET 8 ist AES-GCM hardwarebeschleunigt.

Einen Befehl ausführen, einen Ordner bereitstellen

Die Clients folgen einer Form: Host und Zugangsdaten festlegen, verbinden, eine Methode aufrufen. Die Server folgen einer anderen: Port und Host-Schlüssel festlegen, Ereignisse verbinden, aktivieren.

var
  SSH: TsgcSSHClient;
  SFTP: TsgcSFTPClient;
begin
  // run a command
  SSH := TsgcSSHClient.Create(nil);
  SSH.Host := 'build01.example.com';
  SSH.Port := 22;
  SSH.Authentication.Username := 'deploy';
  SSH.Authentication.PrivateKeyFile := 'C:\keys\id_ed25519.pem';
  SSH.OnSSHHostKey := SSHHostKey;   // check the fingerprint
  SSH.Connect;
  Memo1.Text := SSH.Execute('uname -a');
  SSH.Disconnect;

  // upload a file over SFTP
  SFTP := TsgcSFTPClient.Create(nil);
  SFTP.Host := 'files.example.com';
  SFTP.Authentication.Username := 'partner';
  SFTP.Authentication.Password := 'secret';
  SFTP.Connect;
  SFTP.Put('C:\export\invoices.zip', '/upload/invoices.zip');
  SFTP.Disconnect;
end;

PostQuantumKex ist standardmäßig aktiviert, daher handeln beide Sitzungen mlkem768x25519-sha256 aus, sobald der Server es unterstützt.

begin
  SFTPServer := TsgcSFTPServer.Create(nil);
  SFTPServer.RootFolder := 'D:\sftp';
  SFTPServer.SFTP := True;
  SFTPServer.SCP := True;
  SFTPServer.OnSFTPUserRoot := SFTPUserRoot;

  SSHServer := TsgcSSHServer.Create(nil);
  SSHServer.Port := 2222;
  SSHServer.HostKeyFiles.Text := 'hostkey_ed25519.pem';
  SSHServer.OnSSHAuthPassword := SSHAuthPassword;
  SSHServer.SFTPServer := SFTPServer;
  SSHServer.Active := True;
end;

procedure TForm1.SSHAuthPassword(Sender: TObject;
  aConnection: TsgcSSHServerConnection; const aUsername, aPassword: string;
  var aAccept: Boolean);
begin
  aAccept := CheckUser(aUsername, aPassword);   // your user store
end;

procedure TForm1.SFTPUserRoot(Sender: TObject; const aUsername: string;
  var aRootFolder: string);
begin
  aRootFolder := 'D:\sftp\' + aUsername;   // one jail per user
end;

Verbinde dich mit sftp -P 2222 user@127.0.0.1 oder scp -P 2222 file.txt user@127.0.0.1:/. Die Demos in Demos\27.SSH decken alle fünf Komponenten ab.

Delphi und .NET, Desktop und Server

Dieselben fünf Komponenten auf beiden Plattformen, für Desktop-Anwendungen, Konsolenwerkzeuge und Dienste.

Delphi Delphi 7 bis 13, VCL, FMX, Konsole und Dienste
Windows Win32 Windows Win64 Linux64
.NET Vollständig verwalteter Code, kein OpenSSL
.NET 8 .NET 9 .NET 10 .NET Standard 2.0
Komponenten Registriert auf der Palettenseite SGC SSH
TsgcSSHClient TsgcSFTPClient TsgcSCPClient TsgcSSHServer TsgcSFTPServer
Trial-Installer Der All-Access-Trial von sgcWebSockets enthält die SSH-Komponenten
Ein Download, alle fünf Komponenten

Lade den Trial-Installer herunter →

Ein eigenständiges Paket

sgcSSH wird eigenständig lizenziert, ab €398 für einen einzelnen Entwickler. Alle Lizenzen enthalten den vollen Quellcode, 1 Jahr Updates und einen Verlängerungsrabatt von 50% bis 70%: 50% bei Verlängerung eines Packs, 60% bei zwei, 70% bei drei oder mehr. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP, sgcREST, sgcCrypto und sgcSSH zählen jeweils als ein Pack.

sgcSSH

€398

Single-, Team- und Site-Lizenzen verfügbar.

  • SSH-Client: Befehle, Shell mit pty, Portweiterleitung, Rekey
  • SFTP- und SCP-Clients für Dateien und Ordner
  • SSH- und SFTP-Server mit einem Jail pro Benutzer
  • Post-Quanten-Schlüsselaustausch mlkem768x25519-sha256
  • sgcWebSockets Core Runtime und sgcCustomIndy enthalten
  • Delphi 7 bis 13 & .NET
  • Voller Quellcode
  • 1 Jahr Updates

sgcSSH enthält die sgcWebSockets Core Runtime, sodass für die SSH- und SFTP-Komponenten nichts weiter zu kaufen ist.

Der Checkout listet drei Positionen: die Berechtigung für die sgcWebSockets Core Runtime, die mit null berechnet wird, das Pack sgcSSH selbst und sgcCustomIndy, das die Delphi-SSH-Komponenten benötigen. sgcCustomIndy ist immer enthalten, und der angezeigte Preis deckt es bereits ab. Alle Preisdetails.

3,000+Entwickler
20+Jahre
761+Komponenten
30+API-Integrationen
5Plattformen
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordere innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen

SSH und SFTP ausliefern, bereit für die Post-Quanten-Ära

Clients und Server aus nativem Delphi- und .NET-Code, mit mitgelieferter Runtime und vollem Quellcode im Paket. Lade noch heute den All-Access-Trial-Installer herunter und verbinde dich mit deinem ersten Server.

Weitere Produkte von eSeGeCe

Kombiniere sgcSSH mit unseren anderen Komponentenbibliotheken für Delphi, C++ Builder und .NET.

sgcWebSockets

Die vollständige Bibliothek: WebSocket-Clients und -Server, HTTP/2, IoT, P2P und KI-Komponenten. Ihre Enterprise-Edition enthält auch die SSH- und SFTP-Komponenten.

Mehr erfahren →

sgcCustomIndy

Die angepasste Indy-Bibliothek, auf der sgcWebSockets Enterprise aufbaut, als Add-on verpackt. Wird von den Delphi-SSH-Komponenten benötigt und ist in sgcSSH-Bestellungen immer enthalten.

Mehr erfahren →

sgcCrypto

Symmetrische und asymmetrische Verschlüsselung, Hashing und Post-Quanten-Algorithmen wie ML-KEM und ML-DSA. Wird ab sgcWebSockets Standard kostenlos mitgeliefert.

Mehr erfahren →

sgcAuth

OAuth2- und JWT-Clients, WebAuthn-Passkey-Anmeldung, TOTP, LDAP, SAML und OpenID Connect, mit mitgelieferter Core Runtime.

Mehr erfahren →

sgcHTTP

HTTP-Server, HTTP/2- und gRPC-Clients sowie Google Cloud Pub/Sub, Calendar und Firebase Cloud Messaging, mit mitgelieferter Core Runtime.

Mehr erfahren →

sgcMQ

Native Client-Komponenten für MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka und STOMP, mit mitgelieferter Core Runtime.

Mehr erfahren →