sgcSSH SSH and SFTP, client and server. Post-quantum first.

Five components cover both ends of an SSH connection. TsgcSSHClient runs remote commands, opens an interactive shell and forwards ports. TsgcSFTPClient and TsgcSCPClient move files and whole folders. TsgcSSHServer and TsgcSFTPServer put your own SSH and SFTP service inside your application. The hybrid key exchange mlkem768x25519-sha256 is offered first on both sides. Standalone, the sgcWebSockets Core runtime is included.

  • SSH client
  • SFTP and SCP
  • SSH and SFTP server
  • ML-KEM-768 + X25519
  • Delphi 7 to 13
  • .NET
  • Full source code
YOUR CLIENT TsgcSSHClient TsgcSFTPClient TsgcSCPClient YOUR SERVER TsgcSSHServer TsgcSFTPServer Ed25519, ECDSA or RSA host key KEXINIT, offered first: mlkem768x25519-sha256 agreed, keys renewed by Rekey ONE ENCRYPTED CONNECTION, AES-GCM Execute('uname -a') RequestShell + pty OpenDirectTCPIP Put('invoices.zip') x16 jail per user
  • 5Components, three clients and two servers, on one palette page
  • 16SFTP requests in flight, so 100 MB moves in about one second on a local network
  • 2Languages, Delphi and .NET, with the same five classes
  • 1Standalone installer, with the Core runtime inside
  • 100%Source code included with every license
What is in the pack

Three clients, two servers, one API style.

Each one is a non-visual component you drop on a form or create in code. Set the host and the credentials, wire the events, then connect or start listening. The .NET classes carry the same names, so an SSH workflow reads the same in both languages.

Commands, shells and tunnels

TsgcSSHClient connects with a password or a private key, and OnSSHHostKey hands you the host key fingerprint to check. Execute runs a command and returns its output in one call. RequestPTY and RequestShell open an interactive terminal, and OpenDirectTCPIP and RequestForwarding forward ports in both directions.

View the SSH client →

Fast file transfers, one method each

TsgcSFTPClient speaks SFTP v3 over the same SSH connection. ListDirectory returns names, sizes and dates, Put and Get move a file in one call, and Rename, Delete, MakeDirectory and RemoveDirectory cover the rest. Transfers keep 16 requests in flight instead of waiting for each block.

View the SFTP client →

Files and whole folders with scp

TsgcSCPClient copies files over SSH to any server that allows the scp command, with no separate file transfer service. UploadFolder and DownloadFolder copy a folder tree recursively, and PreserveTimes keeps the modification and access times on the other side.

View the SCP client →

Your own SSH service, in your process

TsgcSSHServer listens on the port you choose with Ed25519, ECDSA or RSA host keys, and GenerateHostKeyEd25519 creates one for you. OnSSHAuthPassword and OnSSHAuthPublicKey decide who gets in, OnSSHExec answers remote commands and OnSSHShell serves an interactive session.

View the SSH server →

A file server with a jail per user

TsgcSFTPServer serves SFTP v3 and scp transfers from RootFolder, and clients cannot leave it. OnSFTPUserRoot gives every user a folder of its own, ReadOnly refuses changes, and OnSFTPOperation fires for every open, rename, remove and listing, so you allow, deny and log each one.

View the SFTP server →

Post-quantum key exchange, on by default

The hybrid mlkem768x25519-sha256 exchange combines ML-KEM-768 with X25519, so a session recorded today stays private against a future quantum computer. PostQuantumKex is on by default, and the client and the server offer it first. Strict key exchange closes the Terrapin attack.

The algorithms →

Delphi and .NET, desktop and server

The same five components in Delphi 7 to 13 on Windows 32 and 64 bit and Linux 64 bit, and in .NET 8, 9 and 10 and .NET Standard 2.0. The .NET version is fully managed code with no OpenSSL to deploy. Both run inside a desktop app, a console tool or a service.

Platforms →

Full source, royalty-free

sgcSSH is a standalone package. It bundles the sgcWebSockets Core runtime and the native cryptography the key exchange runs on, and every license ships with full source code, so the protocol code steps through in your own debugger. Deployment is royalty-free.

See pricing →

Reference pages for each component:

The code

Run a command, serve a folder.

The clients follow one shape: set the host and the credentials, connect, call a method. The servers follow another: set the port and the host key, wire the events, activate.

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;
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.SFTPUserRoot(Sender: TObject; const aUsername: string;
  var aRootFolder: string);
begin
  aRootFolder := 'D:\sftp\' + aUsername;   // one jail per user
end;

PostQuantumKex is on by default, so every session negotiates mlkem768x25519-sha256 whenever the other side supports it. The full quick start →

  1. Drop a component on a formThe five components sit on the SGC SSH palette page, or create them in code in a console tool or a service.
  2. Set the host and the credentialsA password or a private key from a PEM or PKCS#8 file, and OnSSHHostKey to check the server's fingerprint.
  3. Call one methodExecute for a command, Put and Get for SFTP, UploadFolder for scp, with progress events for every transfer.
  4. Or serve it yourselfLink TsgcSFTPServer to TsgcSSHServer, decide who signs in from your own user store, and any standard ssh, sftp or scp client connects.
Before you buy

Four things worth knowing first.

What sgcSSH negotiates, whether you already own these components, what the Delphi version builds on, and how to try it. The answers are short, and they are on this page rather than in the small print.

side      component          job
client    TsgcSSHClient      exec, shell, pty, port forwarding
client    TsgcSFTPClient     SFTP v3, 16 requests in flight
client    TsgcSCPClient      files and folder trees
server    TsgcSSHServer      password, public key, exec, shell
server    TsgcSFTPServer     SFTP v3, SCP, jail per user

key exchange, offered in this order
mlkem768x25519-sha256   hybrid post-quantum
curve25519, ECDH, DH group14 and group16
ciphers    AES-GCM, AES-CTR
keys       Ed25519, ECDSA, RSA
  1. sgcSSH is self-containedThe sgcWebSockets Core runtime is included, together with the native cryptography the key exchange runs on: ML-KEM-768, X25519, ECDH, AES-GCM and the SHA-2 family. One installer, full source code in the box.
  2. Already in your sgcWebSockets edition?All five components ship inside sgcWebSockets Enterprise, and All-Access includes everything. On .NET they ship in the registered sgcWebSockets package, not in the free Community edition.
  3. Delphi SSH needs sgcCustomIndyThe Delphi components are built on the SSH units of the patched Indy library that sgcCustomIndy ships as an add-on. It is always included when you order sgcSSH, and the price shown already covers it.
  4. Try it before you buyThe free trial installer is the sgcWebSockets All-Access trial, so all five components can be evaluated today. The demos in Demos\27.SSH cover each one.

Key exchange, authentication, channels and transfers are all first-class methods and events, and full source code means nothing in between is a black box. Every component and property →

Part of sgcWebSockets

Licensed on its own, or already in your edition.

sgcSSH is one package of the sgcWebSockets family. Buy it standalone with the Core runtime bundled in, or get all five components with sgcWebSockets Enterprise or All-Access.

sgcSSH

The SSH, SFTP and SCP clients and the SSH and SFTP servers, standalone, with the sgcWebSockets Core runtime included.

€398 / single license
  • SSH client: commands, shell, pty and port forwarding
  • SFTP and SCP clients for files and folders
  • SSH and SFTP servers with a jail per user
  • Post-quantum key exchange, on by default
  • Full source code and 1 year of updates
sgcSSH pricing →

Team and Site

The same package, licensed for a whole team or a whole site.

Team €648 Site €1,048
  • Everything in the single license
  • The sgcWebSockets Core runtime entitlement, charged at zero
  • sgcCustomIndy, which the Delphi SSH components require, always included
  • Delphi 7 to 13 and .NET
Compare licenses →

sgcWebSockets

The full library: WebSocket clients and servers, HTTP/2, IoT, P2P and AI components. Its Enterprise edition includes the SSH and SFTP components too.

€699 / Enterprise
  • All five SSH components in Enterprise and All-Access
  • The registered .NET package includes them as well
  • This is where the Core runtime lives
Explore sgcWebSockets →

If you own sgcWebSockets Enterprise or All-Access you already have all five components. sgcSSH is for SSH and SFTP without licensing a full sgcWebSockets edition.

View pricing and licenses
Testimonials

What Developers Say

Trusted by Delphi, C++ Builder, Lazarus and .NET developers around the world.

Your sgcWebSockets library is very useful and easy to setup. Keep up the good work!
Simone Moretti Delphi Developer
sgcWebSockets is amazing and your support is the best!
Christian Meyer Founder & CTO
Thanks so much for your help and support, I love your components.
Mark Steinfeld CTO

Ship SSH and SFTP, ready for the post-quantum era.

Three clients and two servers in one package, with the sgcWebSockets Core runtime bundled in and full source code in the box.

The ecosystem

Other Products by eSeGeCe

sgcSSH is one of the eSeGeCe component libraries for Delphi, C++ Builder and .NET. They share conventions, they ship with full source, and they deploy royalty-free.

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, AI and 30+ API integrations for Delphi, C++ Builder, Lazarus and .NET. This is where the Core runtime lives.

sgcCustomIndy

The custom Indy library sgcWebSockets Enterprise is built on, packaged as an add-on. Required by the Delphi SSH components, always included in sgcSSH orders.

sgcCrypto

Symmetric and asymmetric ciphers, hashing and post-quantum algorithms such as ML-KEM and ML-DSA. Ships free from sgcWebSockets Standard up.

sgcAuth

OAuth2 and JWT clients, WebAuthn passkey sign-in, TOTP, LDAP, SAML and OpenID Connect. Standalone, with the sgcWebSockets Core runtime bundled in.

sgcHTTP

HTTP server, HTTP/2 client, gRPC client and Google Cloud Pub/Sub, Calendar and FCM clients for Delphi and C++ Builder. Standalone, with the sgcWebSockets Core runtime bundled in.

sgcMQ

MQTT, AMQP 0.9.1 and 1.0, Apache Kafka and STOMP client components for Delphi and C++ Builder. Standalone, with the sgcWebSockets Core runtime bundled in.

sgcREST

REST server, OpenAPI server and OpenAPI client components for Delphi and C++ Builder. Standalone, with the sgcWebSockets Core runtime bundled in.

sgcAI

AI, LLM and MCP components for Delphi and C++ Builder. Seven LLM providers behind one component, plus MCP, embeddings and speech. Standalone, with the sgcWebSockets Core runtime bundled in.

sgcSocial

Telegram and WhatsApp Business client components for Delphi and C++ Builder. Standalone, with the sgcWebSockets Core runtime bundled in.

sgcHTML

Server-side HTML and UI components on Bootstrap 5 and htmx, for web applications written in Delphi.

sgcSign

XAdES, PAdES, CAdES and ASiC for documents, Authenticode, ClickOnce, NuGet and VSIX for code.

Packs, add-ons and more

Latest from the blog

View all posts →

You are seeing the sgcSSH view of eSeGeCe.

Show me another angle →
30-Day Money-Back GuaranteeNot satisfied? Request a full refund within 30 days of purchase. See refund policy