Standalone product Post-quantum SSH & SFTP

sgcSSH: SSH- & SFTP-clients en -servers voor Delphi & .NET

Vijf componenten dekken beide kanten van een SSH-verbinding. TsgcSSHClient voert opdrachten op afstand uit, opent een interactieve shell met een pty en stuurt poorten door. TsgcSFTPClient en TsgcSCPClient verplaatsen bestanden en hele mappen. TsgcSSHServer en TsgcSFTPServer brengen je eigen SSH- en SFTP-service in je toepassing, met een jail per gebruiker. De hybride post-quantum sleuteluitwisseling mlkem768x25519-sha256, de standaard van de nieuwste SSH-releases, wordt zowel door de client als door de server als eerste aangeboden.

Volledige broncode
Delphi 7 tot 13 & .NET
Sleuteluitwisseling ML-KEM-768 + X25519 mlkem768x25519-sha256, aan beide kanten als eerste aangeboden
Clients SSH, SFTP, SCP
Servers SSH, SFTP
5 Componenten Drie clients en twee servers
16 SFTP-requests tegelijk onderweg Een overdracht van 100 MB duurt ongeveer een seconde op een lokaal netwerk
2 Talen Delphi en .NET, dezelfde vijf klassen
100% Broncode inbegrepen Elk component en de meegeleverde Core runtime
12 Maanden updates Elke release die wordt uitgebracht zolang je licentie actief is

Drie dingen die je eerst moet weten

Wat sgcSSH van jou vraagt, of je deze componenten al bezit en waarop de Delphi-versie is gebouwd. Alle drie de antwoorden zijn kort.

sgcSSH is zelfstandig

Als standalone product bevat het de sgcWebSockets Core runtime, samen met de native cryptografie waarop de sleuteluitwisseling draait: ML-KEM-768, X25519, ECDH, AES-GCM en de SHA-2-familie. Eén SKU, één installer.

Elke licentie bevat de volledige broncode, zodat je de protocolcode in je eigen debugger doorloopt in plaats van dat hij in een binary verdwijnt.

Editie-overlap

Al in je sgcWebSockets-editie?

Alle vijf de SSH-componenten zitten in sgcWebSockets Enterprise, en All-Access omvat alles. Op .NET zitten ze in het geregistreerde sgcWebSockets-pakket, niet in de gratis Community-editie.

sgcSSH bestaat voor het omgekeerde geval: je wilt SSH en SFTP in je toepassing zonder een volledige sgcWebSockets-editie in licentie te nemen. Controleer wat je editie al dekt voordat je koopt.

Add-on vereist

SSH voor Delphi heeft sgcCustomIndy nodig

De Delphi-componenten zijn gebouwd op de SSH-units van de gepatchte Indy-bibliotheek die sgcCustomIndy als add-on levert. sgcCustomIndy is altijd inbegrepen wanneer je sgcSSH bestelt.

De getoonde prijs van sgcSSH dekt sgcCustomIndy al.

Drie clients, twee servers

Elk is een niet-visueel component dat je op een formulier zet of in code aanmaakt, geregistreerd op de paletpagina SGC SSH. Stel de host en de inloggegevens in, koppel de events en maak dan verbinding of begin met luisteren. De .NET-klassen hebben dezelfde namen.

SSH-client1 component

Opdrachten, shells en tunnels

TsgcSSHClient maakt verbinding met een wachtwoord of een private key, en OnSSHHostKey geeft je het type hostsleutel en de vingerafdruk om te vergelijken met je opslag van bekende hosts. Execute voert een opdracht uit en geeft de uitvoer in één aanroep terug. Voor een interactieve sessie openen OpenChannel, RequestPTY en RequestShell een terminal, typt SendChannelData erin en geeft OnSSHChannelData terug wat de server afdrukt, met SendWindowChange en SendSignal voor de rest van het terminalprotocol. OpenDirectTCPIP stuurt een lokale verbinding door via de server, RequestForwarding vraagt de server een externe poort naar jou terug te sturen, en Rekey vernieuwt de sessiesleutels van een langlopende verbinding.

TsgcSSHClient exec · shell · pty · port forwarding · rekey
SFTP-client1 component

Snelle bestandsoverdracht, één methode per taak

TsgcSFTPClient spreekt SFTP v3 over dezelfde SSH-verbinding. RealPath bepaalt de homemap, ListDirectory geeft namen, groottes, datums en de mapvlag terug, en Put en Get uploaden en downloaden een bestand in één aanroep. Rename, Delete, MakeDirectory en RemoveDirectory dekken de rest van een bestandsbeheerder, en OnSFTPProgress meldt de overgedragen bytes voor een voortgangsbalk. Overdrachten houden 16 requests tegelijk onderweg in plaats van op elk blok te wachten, dus een bestand van 100 MB duurt ongeveer een seconde op een lokaal netwerk.

TsgcSFTPClient SFTP v3 · 16 requests tegelijk
SCP-client1 component

Bestanden en hele mappen met scp

TsgcSCPClient kopieert bestanden via SSH naar elke server die het commando scp toestaat, zonder aparte bestandsoverdrachtsservice. Upload en Download kopiëren één bestand, UploadFolder en DownloadFolder kopiëren recursief een hele mapstructuur, en PreserveTimes behoudt de wijzigings- en toegangstijden aan de andere kant. OnSCPProgress meldt de bestandsnaam en de overgedragen bytes.

TsgcSCPClient bestanden · mappen · tijden behouden
SSH-server1 component

Je eigen SSH-service, in je eigen proces

TsgcSSHServer luistert op de poort die je kiest en bewijst zijn identiteit met Ed25519-, ECDSA- of RSA-hostsleutels die uit HostKeyFiles worden geladen, en GenerateHostKeyEd25519 maakt er een voor je aan. OnSSHAuthPassword en OnSSHAuthPublicKey bepalen wie binnenkomt, de tweede met het sleuteltype en de SHA256-vingerafdruk. OnSSHExec beantwoordt opdrachten op afstand, OnSSHShell bedient een interactieve sessie, en subsysteemverzoeken worden doorgestuurd naar jouw handler of naar TsgcSFTPServer. Elke standaard SSH-client kan verbinden, inclusief de standaard opdrachtregeltools ssh, sftp en scp.

TsgcSSHServer wachtwoord · publieke sleutel · exec · shell · subsystemen
SFTP-server1 component

Een bestandsserver met een jail per gebruiker

TsgcSFTPServer koppelt via de eigenschap SFTPServer aan de SSH-server en bedient SFTP v3 en, met SCP ingeschakeld, scp-overdrachten vanuit RootFolder. Clients kunnen er niet uit. OnSFTPUserRoot geeft elke gebruiker een eigen map, ReadOnly weigert uploads, verwijderingen en hernoemingen, en OnSFTPOperation wordt geactiveerd bij elke open, verwijdering, hernoeming, mapwijziging, kenmerkwijziging en lijst, zodat je elke handeling toestaat of weigert en vastlegt. Flow control houdt het geheugengebruik van een grote download constant, welke bestandsgrootte ook.

TsgcSFTPServer SFTP v3 · SCP · jail per gebruiker · alleen-lezen

SSH en SFTP vanuit je eigen code

De componenten zijn gewone niet-visuele componenten, dus ze passen in wat je toepassing ook is: een VCL- of FMX-desktopapp, een consoletool, een Windows-service, een Linux-daemon of een .NET-worker. Dit zijn de patronen die klanten bouwen, elk gekoppeld aan het lid dat het aanstuurt.

Onderhoudsopdrachten uitvoeren op Linux-servers Execute

Herstart een service, lees een log of controleer de schijfruimte vanuit een Delphi- of .NET-tool, en krijg de uitvoer terug als string.

Een ingebed terminalvenster RequestPTY

Open een shell met een pty en toon die in je eigen UI, voor supporttools en apparaatconsoles.

Geplande bestandsuitwisseling met partners Put / Get

Upload facturen en download rapporten via SFTP vanuit een service, met voortgangs- en foutevents.

Een database achter een bastionhost bereiken OpenDirectTCPIP

Stuur een verbinding door via de SSH-server in plaats van de databasepoort open te zetten op het netwerk.

Een SFTP-dropbox in je product OnSFTPUserRoot

Geef elke klant een privémap, waarbij je eigen gebruikersdatabase bepaalt wie zich aanmeldt.

Verkeer dat ook in de toekomst privé blijft PostQuantumKex

De hybride uitwisseling met ML-KEM-768 en X25519 beschermt vandaag opgenomen sessies tegen een toekomstige kwantumcomputer.

Eerst post-quantum, alleen moderne algoritmen

Client en server onderhandelen over de sterkste algoritmen die beide kanten ondersteunen, te beginnen met de hybride post-quantum sleuteluitwisseling. Je hoeft niets in te stellen om die te krijgen.

mlkem768x25519-sha256 wordt als eerste aangeboden

De hybride uitwisseling combineert ML-KEM-768 met X25519, zodat de sessiesleutels veilig blijven, zelfs tegen een aanvaller die het verkeer vandaag opneemt en later een kwantumcomputer bezit. Het is de standaard van de nieuwste SSH-releases, en actuele SSH-clients en -servers onderhandelen er automatisch over. PostQuantumKex staat standaard aan.

Klassieke algoritmen als terugvaloptie

Als de andere kant het niet ondersteunt, valt de uitwisseling terug op curve25519, ECDH en Diffie-Hellman group14 en group16. De ciphers zijn AES-GCM en AES-CTR, en host- en gebruikerssleutels zijn Ed25519, ECDSA of RSA.

Strict key exchange tegen Terrapin

Strict key exchange sluit de Terrapin-aanval met prefixafkapping, en met server-sig-algs kiest de client een RSA-handtekening met SHA-2 in plaats van de verouderde SHA-1-variant. Private keys worden geladen uit PEM- en PKCS#8-bestanden, en de .NET-versie leest ook het OpenSSH-sleutelformaat.

Native cryptografie op beide platforms

De sleuteluitwisseling draait op de native cryptografie-units van sgcWebSockets in Delphi en op volledig beheerde code in .NET, zonder OpenSSL om uit te rollen voor de .NET-versie. Op .NET 8 en later is AES-GCM hardwarematig versneld.

Voer een opdracht uit, serveer een map

De clients volgen één patroon: stel de host en de inloggegevens in, maak verbinding, roep een methode aan. De servers volgen een ander: stel de poort en de hostsleutel in, koppel de events, activeer.

var
  SSH: TsgcSSHClient;
  SFTP: TsgcSFTPClient;
begin
  // voer een opdracht uit
  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;   // controleer de vingerafdruk
  SSH.Connect;
  Memo1.Text := SSH.Execute('uname -a');
  SSH.Disconnect;

  // upload een bestand via 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 staat standaard aan, dus beide sessies onderhandelen over mlkem768x25519-sha256 zodra de server het ondersteunt.

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);   // jouw gebruikersopslag
end;

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

Verbind met sftp -P 2222 user@127.0.0.1 of scp -P 2222 file.txt user@127.0.0.1:/. De demo's in Demos\27.SSH dekken alle vijf de componenten.

Delphi en .NET, desktop en server

Dezelfde vijf componenten op beide platforms, voor desktoptoepassingen, consoletools en services.

Delphi Delphi 7 tot 13, VCL, FMX, console en services
Windows Win32 Windows Win64 Linux64
.NET Volledig beheerde code, geen OpenSSL
.NET 8 .NET 9 .NET 10 .NET Standard 2.0
Componenten Geregistreerd op de paletpagina SGC SSH
TsgcSSHClient TsgcSFTPClient TsgcSCPClient TsgcSSHServer TsgcSFTPServer
Proefinstaller De All-Access-proefversie van sgcWebSockets bevat de SSH-componenten
Eén download, alle vijf de componenten

Download de proefinstaller →

Een zelfstandig pakket

sgcSSH wordt zelfstandig in licentie gegeven, vanaf €398 voor één ontwikkelaar. Alle licenties bevatten de volledige broncode, 1 jaar updates en 50% tot 70% verlengingskorting: 50% als je één pakket verlengt, 60% bij twee, 70% bij drie of meer. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP, sgcREST, sgcCrypto en sgcSSH tellen elk als een pakket.

sgcSSH

€398

Single-, Team- en Site-licenties beschikbaar.

  • SSH-client: opdrachten, shell met pty, port forwarding, rekey
  • SFTP- en SCP-clients voor bestanden en mappen
  • SSH- en SFTP-servers met een jail per gebruiker
  • Post-quantum sleuteluitwisseling mlkem768x25519-sha256
  • sgcWebSockets Core runtime en sgcCustomIndy inbegrepen
  • Delphi 7 tot 13 & .NET
  • Volledige broncode
  • 1 jaar updates

sgcSSH bevat de sgcWebSockets Core runtime, dus er is niets anders bij te kopen voor de SSH- en SFTP-componenten.

Bij het afrekenen staan drie regels: het gebruiksrecht voor de sgcWebSockets Core runtime, dat tegen nul wordt gerekend, het sgcSSH-pakket zelf, en sgcCustomIndy, dat de Delphi SSH-componenten nodig hebben. sgcCustomIndy is altijd inbegrepen en de getoonde prijs dekt het al. Volledige prijsdetails.

3,000+Ontwikkelaars
20+Jaar
761+Componenten
30+API-integraties
5Platformen
Niet-goed-geld-terug-garantie van 30 dagenNiet tevreden? Vraag binnen 30 dagen na aankoop een volledige terugbetaling aan. Bekijk het terugbetalingsbeleid

Lever SSH en SFTP, klaar voor het post-quantum tijdperk

Clients en servers in native Delphi- en .NET-code, met de runtime meegeleverd en de volledige broncode in de doos. Download de All-Access-proefinstaller en maak vandaag nog verbinding met je eerste server.

Andere producten van eSeGeCe

Combineer sgcSSH met onze andere componentbibliotheken voor Delphi, C++ Builder en .NET.

sgcWebSockets

De volledige bibliotheek: WebSocket-clients en -servers, HTTP/2, IoT-, P2P- en AI-componenten. De Enterprise-editie bevat ook de SSH- en SFTP-componenten.

Meer informatie →

sgcCustomIndy

De custom Indy-bibliotheek waarop sgcWebSockets Enterprise is gebouwd, verpakt als add-on. Vereist voor de Delphi SSH-componenten, altijd inbegrepen in sgcSSH-bestellingen.

Meer informatie →

sgcCrypto

Symmetrische en asymmetrische versleuteling, hashing en post-quantum algoritmen zoals ML-KEM en ML-DSA. Gratis vanaf sgcWebSockets Standard.

Meer informatie →

sgcAuth

OAuth2- en JWT-clients, WebAuthn-passkey-aanmelding, TOTP, LDAP, SAML en OpenID Connect, met de Core runtime inbegrepen.

Meer informatie →

sgcHTTP

HTTP-server, HTTP/2- en gRPC-clients, plus Google Cloud Pub/Sub, Calendar en Firebase Cloud Messaging, met de Core runtime inbegrepen.

Meer informatie →

sgcMQ

Native MQTT 3.1.1/5.0-, AMQP 0.9.1-, AMQP 1.0-, Apache Kafka- en STOMP-clientcomponenten, met de Core runtime inbegrepen.

Meer informatie →