Prodotto autonomo SSH e SFTP post-quantum

sgcSSH: client e server SSH e SFTP per Delphi e .NET

Cinque componenti coprono entrambi i lati di una connessione SSH. TsgcSSHClient esegue comandi remoti, apre una shell interattiva con pty e inoltra le porte. TsgcSFTPClient e TsgcSCPClient spostano file e intere cartelle. TsgcSSHServer e TsgcSFTPServer portano un servizio SSH e SFTP tutto tuo dentro la tua applicazione, con una jail per utente. Lo scambio di chiavi ibrido post-quantum mlkem768x25519-sha256, il predefinito delle ultime versioni di SSH, viene proposto per primo sia dal client sia dal server.

Codice sorgente completo
Da Delphi 7 a 13 e .NET
Scambio di chiavi ML-KEM-768 + X25519 mlkem768x25519-sha256, proposto per primo da entrambi i lati
Client SSH, SFTP, SCP
Server SSH, SFTP
5 Componenti Tre client e due server
16 Richieste SFTP in parallelo Un trasferimento da 100 MB richiede circa un secondo su una rete locale
2 Linguaggi Delphi e .NET, le stesse cinque classi
100% Codice sorgente incluso Ogni componente e il runtime Core incluso
12 Mesi di aggiornamenti Ogni versione pubblicata mentre la tua licenza è attiva

Tre cose da sapere prima

Che cosa serve a sgcSSH da parte tua, se possiedi già questi componenti e su che cosa si basa la versione Delphi. Le tre risposte sono brevi.

sgcSSH è autosufficiente

Come prodotto autonomo include il runtime sgcWebSockets Core, insieme alla crittografia nativa su cui gira lo scambio di chiavi: ML-KEM-768, X25519, ECDH, AES-GCM e la famiglia SHA-2. Un solo SKU, un solo installer.

Il codice sorgente completo è incluso in ogni licenza, così il codice del protocollo si può seguire nel tuo debugger invece di sparire dentro un binario.

Sovrapposizione con le edizioni

Già nella tua edizione di sgcWebSockets?

Tutti e cinque i componenti SSH sono inclusi in sgcWebSockets Enterprise, e All-Access comprende tutto. Su .NET sono nel pacchetto sgcWebSockets registrato, non nell'edizione Community gratuita.

sgcSSH esiste per il caso opposto: vuoi SSH e SFTP nella tua applicazione senza acquistare una licenza completa di sgcWebSockets. Controlla che cosa copre già la tua edizione prima di acquistare.

Componente aggiuntivo richiesto

SSH per Delphi richiede sgcCustomIndy

I componenti Delphi si basano sulle unit SSH della libreria Indy modificata che sgcCustomIndy distribuisce come componente aggiuntivo. sgcCustomIndy è sempre incluso quando ordini sgcSSH.

Il prezzo di sgcSSH mostrato copre già sgcCustomIndy.

Tre client, due server

Ognuno è un componente non visuale che trascini su un form o crei da codice, registrato nella pagina SGC SSH della palette. Imposta host e credenziali, collega gli eventi, poi connetti o avvia l'ascolto. Le classi .NET hanno gli stessi nomi.

Client SSH1 componente

Comandi, shell e tunnel

TsgcSSHClient si connette con una password o con una chiave privata, e OnSSHHostKey ti passa il tipo di chiave dell'host e la sua impronta da confrontare con il tuo archivio degli host noti. Execute esegue un comando e restituisce il suo output in una sola chiamata. Per una sessione interattiva, OpenChannel, RequestPTY e RequestShell aprono un terminale, SendChannelData vi scrive e OnSSHChannelData restituisce ciò che il server stampa, con SendWindowChange e SendSignal per il resto del protocollo del terminale. OpenDirectTCPIP inoltra una connessione locale attraverso il server, RequestForwarding chiede al server di inoltrarti una porta remota, e Rekey rinnova le chiavi di sessione di una connessione di lunga durata.

TsgcSSHClient exec · shell · pty · port forwarding · rekey
Client SFTP1 componente

Trasferimenti di file veloci, un metodo per ciascuno

TsgcSFTPClient parla SFTP v3 sulla stessa connessione SSH. RealPath risolve la cartella home, ListDirectory restituisce nomi, dimensioni, date e il flag di cartella, e Put e Get caricano e scaricano un file in una sola chiamata. Rename, Delete, MakeDirectory e RemoveDirectory coprono il resto di un file manager, e OnSFTPProgress riporta i byte trasferiti per una barra di avanzamento. I trasferimenti mantengono 16 richieste in parallelo invece di attendere ogni blocco, quindi un file da 100 MB richiede circa un secondo su una rete locale.

TsgcSFTPClient SFTP v3 · 16 richieste in parallelo
Client SCP1 componente

File e intere cartelle con scp

TsgcSCPClient copia file via SSH su qualsiasi server che consenta il comando scp, senza un servizio di trasferimento file separato. Upload e Download copiano un file, UploadFolder e DownloadFolder copiano ricorsivamente un intero albero di cartelle, e PreserveTimes mantiene le date di modifica e di accesso dall'altra parte. OnSCPProgress riporta il nome del file e i byte trasferiti.

TsgcSCPClient file · cartelle · date preservate
Server SSH1 componente

Il tuo servizio SSH, nel tuo processo

TsgcSSHServer resta in ascolto sulla porta che scegli e dimostra la sua identità con chiavi host Ed25519, ECDSA o RSA caricate da HostKeyFiles, e GenerateHostKeyEd25519 ne crea una per te. OnSSHAuthPassword e OnSSHAuthPublicKey decidono chi entra, il secondo con il tipo di chiave e la sua impronta SHA256. OnSSHExec risponde ai comandi remoti, OnSSHShell serve una sessione interattiva, e le richieste di subsystem vengono instradate al tuo gestore o a TsgcSFTPServer. Qualsiasi client SSH standard si connette, compresi gli strumenti a riga di comando standard ssh, sftp e scp.

TsgcSSHServer password · chiave pubblica · exec · shell · subsystem
Server SFTP1 componente

Un file server con una jail per utente

TsgcSFTPServer si collega al server SSH tramite la proprietà SFTPServer e serve SFTP v3 e, con SCP attivo, trasferimenti scp a partire da RootFolder. I client non possono uscirne. OnSFTPUserRoot dà a ogni utente una cartella tutta sua, ReadOnly rifiuta upload, eliminazioni e rinomine, e OnSFTPOperation scatta per ogni apertura, rimozione, rinomina, cambio di cartella, cambio di attributi ed elenco, così consenti o neghi ciascuna operazione e la registri. Il controllo di flusso mantiene costante la memoria di un download di grandi dimensioni, qualunque sia la dimensione del file.

TsgcSFTPServer SFTP v3 · SCP · jail per utente · sola lettura

SSH e SFTP dal tuo codice

I componenti sono normali componenti non visuali, quindi si adattano a qualsiasi tipo di applicazione: un'app desktop VCL o FMX, uno strumento console, un servizio Windows, un daemon Linux o un worker .NET. Questi sono gli schemi che i clienti realizzano, ciascuno abbinato al membro che lo guida.

Eseguire comandi di manutenzione su server Linux Execute

Riavvia un servizio, leggi un log o controlla lo spazio su disco da uno strumento Delphi o .NET e ottieni l'output come stringa.

Una finestra di terminale integrata RequestPTY

Apri una shell con pty e mostrala nella tua interfaccia, per strumenti di assistenza e console di dispositivi.

Scambio di file pianificato con i partner Put / Get

Carica fatture e scarica report via SFTP da un servizio, con eventi di avanzamento e di errore.

Raggiungere un database dietro un bastion host OpenDirectTCPIP

Inoltra una connessione attraverso il server SSH invece di aprire la porta del database alla rete.

Una cartella di scambio SFTP dentro il tuo prodotto OnSFTPUserRoot

Dai a ogni cliente una cartella privata, con il tuo database utenti che decide chi accede.

Traffico che resta privato anche in futuro PostQuantumKex

Lo scambio ibrido ML-KEM-768 e X25519 protegge le sessioni registrate oggi da un futuro computer quantistico.

Prima il post-quantum, solo algoritmi moderni

Client e server negoziano gli algoritmi più forti supportati da entrambi, a partire dallo scambio di chiavi ibrido post-quantum. Non serve configurare nulla per ottenerlo.

mlkem768x25519-sha256 viene proposto per primo

Lo scambio ibrido combina ML-KEM-768 con X25519, così le chiavi di sessione restano al sicuro anche contro un aggressore che registra il traffico oggi e avrà un computer quantistico domani. È il predefinito delle ultime versioni di SSH, e i client e i server SSH attuali lo negoziano automaticamente. PostQuantumKex è attivo per impostazione predefinita.

Algoritmi classici come ripiego

Quando l'altra parte non lo supporta, lo scambio ripiega su curve25519, ECDH e Diffie-Hellman group14 e group16. I cifrari sono AES-GCM e AES-CTR, e le chiavi host e utente sono Ed25519, ECDSA o RSA.

Strict key exchange contro Terrapin

Lo strict key exchange chiude l'attacco Terrapin di troncamento del prefisso, e server-sig-algs permette al client di scegliere una firma RSA con SHA-2 invece di quella SHA-1 obsoleta. Le chiavi private si caricano da file PEM e PKCS#8, e la versione .NET legge anche il formato di chiave OpenSSH.

Crittografia nativa su entrambe le piattaforme

Lo scambio di chiavi gira sulle unit di crittografia nativa di sgcWebSockets in Delphi e su codice completamente gestito in .NET, senza OpenSSL da distribuire per la versione .NET. Da .NET 8 in poi AES-GCM è accelerato in hardware.

Esegui un comando, servi una cartella

I client seguono un solo schema: imposta host e credenziali, connetti, chiama un metodo. I server ne seguono un altro: imposta la porta e la chiave host, collega gli eventi, attiva.

var
  SSH: TsgcSSHClient;
  SFTP: TsgcSFTPClient;
begin
  // esegui un comando
  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;   // controlla l'impronta
  SSH.Connect;
  Memo1.Text := SSH.Execute('uname -a');
  SSH.Disconnect;

  // carica un file 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 è attivo per impostazione predefinita, quindi entrambe le sessioni negoziano mlkem768x25519-sha256 ogni volta che il server lo supporta.

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);   // il tuo archivio utenti
end;

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

Connettiti con sftp -P 2222 user@127.0.0.1 o scp -P 2222 file.txt user@127.0.0.1:/. Le demo in Demos\27.SSH coprono tutti e cinque i componenti.

Delphi e .NET, desktop e server

Gli stessi cinque componenti su entrambe le piattaforme, per applicazioni desktop, strumenti console e servizi.

Delphi Da Delphi 7 a 13, VCL, FMX, console e servizi
Windows Win32 Windows Win64 Linux64
.NET Codice completamente gestito, senza OpenSSL
.NET 8 .NET 9 .NET 10 .NET Standard 2.0
Componenti Registrati nella pagina SGC SSH della palette
TsgcSSHClient TsgcSFTPClient TsgcSCPClient TsgcSSHServer TsgcSFTPServer
Installer di prova L'installer di prova di sgcWebSockets All-Access include i componenti SSH
Un solo download, tutti e cinque i componenti

Scarica l'installer di prova →

Un pacchetto autonomo

sgcSSH è concesso in licenza da solo, a partire da €398 per un singolo sviluppatore. Tutte le licenze includono il codice sorgente completo, 1 anno di aggiornamenti e uno sconto sul rinnovo dal 50% al 70%: il 50% se rinnovi un pacchetto, il 60% con due, il 70% con tre o più. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP, sgcREST, sgcCrypto e sgcSSH contano ciascuno come un pacchetto.

sgcSSH

€398

Licenze Single, Team e Site disponibili.

  • Client SSH: comandi, shell con pty, port forwarding, rekey
  • Client SFTP e SCP per file e cartelle
  • Server SSH e SFTP con una jail per utente
  • Scambio di chiavi post-quantum mlkem768x25519-sha256
  • Runtime sgcWebSockets Core e sgcCustomIndy inclusi
  • Da Delphi 7 a 13 e .NET
  • Codice sorgente completo
  • 1 anno di aggiornamenti

sgcSSH include il runtime sgcWebSockets Core, quindi non c'è nient'altro da acquistare per i componenti SSH e SFTP.

Il pagamento elenca tre voci: il diritto d'uso del runtime sgcWebSockets Core, addebitato a zero, il pacchetto sgcSSH stesso e sgcCustomIndy, richiesto dai componenti SSH per Delphi. sgcCustomIndy è sempre incluso e il prezzo mostrato lo copre già. Dettagli completi sui prezzi.

3,000+Sviluppatori
20+Anni
761+Componenti
30+Integrazioni API
5Piattaforme
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso

Rilascia SSH e SFTP, pronti per l'era post-quantum

Client e server in codice nativo Delphi e .NET, con il runtime incluso e il codice sorgente completo nella confezione. Scarica l'installer di prova All-Access e connettiti oggi al tuo primo server.

Altri prodotti di eSeGeCe

Abbina sgcSSH alle nostre altre librerie di componenti per Delphi, C++ Builder e .NET.

sgcWebSockets

La libreria completa: client e server WebSocket, HTTP/2, componenti IoT, P2P e AI. L'edizione Enterprise include anche i componenti SSH e SFTP.

Scopri di più →

sgcCustomIndy

La libreria Indy personalizzata su cui è costruito sgcWebSockets Enterprise, distribuita come componente aggiuntivo. Richiesta dai componenti SSH per Delphi, sempre inclusa negli ordini di sgcSSH.

Scopri di più →

sgcCrypto

Cifrari simmetrici e asimmetrici, hashing e algoritmi post-quantum come ML-KEM e ML-DSA. Inclusa gratuitamente da sgcWebSockets Standard in su.

Scopri di più →

sgcAuth

Client OAuth2 e JWT, accesso con passkey WebAuthn, TOTP, LDAP, SAML e OpenID Connect, con il runtime Core incluso.

Scopri di più →

sgcHTTP

Server HTTP, client HTTP/2 e gRPC, più Google Cloud Pub/Sub, Calendar e Firebase Cloud Messaging, con il runtime Core incluso.

Scopri di più →

sgcMQ

Componenti client nativi MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka e STOMP, con il runtime Core incluso.

Scopri di più →