sgcSSHSSH 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.
sgcSSH | key exchange, then commands and files on one connection
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.
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.
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.
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.
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.
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 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.
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.
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;
PostQuantumKex is on by default, so every session negotiates mlkem768x25519-sha256 whenever the other side supports it. The full quick start →
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.
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.
Call one methodExecute for a command, Put and Get for SFTP, UploadFolder for scp, with progress events for every transfer.
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 ordermlkem768x25519-sha256hybrid post-quantumcurve25519, ECDH, DH group14 and group16ciphersAES-GCM, AES-CTRkeysEd25519, ECDSA, RSA
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.
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.
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.
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
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.
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.