sgcSSH matrice delle funzionalità

Tutto quello che fa sgcSSH, mappato sui tre componenti client, sui due componenti server e sugli algoritmi che negoziano. Le stesse classi esistono in Delphi e .NET, e ogni licenza include il codice sorgente completo.

Client SSH

Comandi, shell, forwarding e rekey

Client SFTP

Trasferimenti veloci, 16 richieste in parallelo

Client SCP

File e intere cartelle

Server SSH

Autenticazione, exec, shell e subsystem

Server SFTP

Una jail per utente, modalità sola lettura

Algoritmi

Prima lo scambio di chiavi post-quantum

Piattaforme

Da Delphi 7 a 13 e .NET

sgcSSH è autosufficiente. Include il runtime sgcWebSockets Core, e il componente aggiuntivo sgcCustomIndy su cui si basano i componenti Delphi è sempre incluso nell'ordine.

Anche dentro sgcWebSockets. Tutti e cinque i componenti sono inclusi anche in sgcWebSockets Enterprise, e All-Access comprende tutto. Su .NET fanno parte del pacchetto registrato, non dell'edizione Community gratuita. sgcSSH è il pacchetto autonomo per i team che hanno bisogno solo di SSH e SFTP.

Cinque componenti della palette

Tre client e due server, registrati nella pagina SGC SSH della palette.

ComponenteClasseCompitoDescrizione
Client SSHTsgcSSHClientEseguire comandiComandi remoti, una shell interattiva con pty, port forwarding locale e remoto e rekey delle sessioni di lunga durata.
Client SFTPTsgcSFTPClientTrasferire fileOperazioni da file manager SFTP v3 con 16 richieste in parallelo, così un trasferimento da 100 MB richiede circa un secondo su una rete locale.
Client SCPTsgcSCPClientCopiare file e cartelleCarica e scarica singoli file o interi alberi di cartelle con scp, mantenendo se vuoi le date dei file.
Server SSHTsgcSSHServerAccettare client SSHAutenticazione con password e chiave pubblica, richieste exec, shell e subsystem, con chiavi host Ed25519, ECDSA e RSA.
Server SFTPTsgcSFTPServerServire una cartellaSFTP v3 e SCP a partire da una cartella radice, con una jail per utente, una modalità sola lettura e un evento per consentire o negare ogni operazione.

Comandi, shell e tunnel

TsgcSSHClient apre una connessione SSH autenticata e vi esegue tutti i canali che ti servono.

FunzionalitàAPINote
ConnessioneHost, Port, Connect, DisconnectPorta 22 per impostazione predefinita.
Autenticazione con passwordAuthentication.Username, Authentication.PasswordAccesso semplice con nome utente e password.
Autenticazione con chiave pubblicaAuthentication.PrivateKeyFile, Authentication.PassphraseChiavi private Ed25519, ECDSA e RSA in file PEM o PKCS#8, e anche nel formato OpenSSH su .NET.
Controllo della chiave hostOnSSHHostKeyRiceve il tipo di chiave e la sua impronta, così li confronti con il tuo archivio degli host noti e rifiuti una chiave sconosciuta o cambiata.
Comando remotoExecuteApre un canale, esegue il comando e restituisce il suo output come stringa, con un timeout.
Shell interattivaOpenChannel, RequestPTY, RequestShellUna sessione di terminale con il tipo e la dimensione di terminale che scegli.
Input e output della shellSendChannelData, OnSSHChannelDataInvia ciò che l'utente digita, ricevi ciò che il server stampa.
Controllo del terminaleSendWindowChange, SendSignal, SendEOFRidimensiona il terminale, invia un segnale o chiudi l'input di un canale.
Canali exec e subsystemRequestExec, RequestSubsystemRichieste di canale a basso livello per protocolli personalizzati su SSH.
Port forwarding localeOpenDirectTCPIPApre un canale direct-tcpip verso un host e una porta raggiungibili dal server.
Port forwarding remotoRequestForwarding, CancelForwardingChiede al server di mettersi in ascolto su una porta e di inoltrare le sue connessioni al client.
RekeyRekeyRinnova le chiavi di sessione di una connessione di lunga durata.
Scambio di chiavi post-quantumPostQuantumKexAttivo per impostazione predefinita: propone per primo mlkem768x25519-sha256.

Trasferimenti veloci, un metodo per ciascuno

TsgcSFTPClient implementa SFTP v3 sullo stesso trasporto SSH, con le stesse opzioni di autenticazione e di scambio di chiavi del client SSH.

FunzionalitàAPINote
Cartella homeRealPathRisolve un percorso come . nel percorso assoluto sul server.
Elenco di una cartellaListDirectoryNome, dimensione, data di modifica e flag di cartella di ogni voce.
Upload e downloadPut, GetUna chiamata per file, con 16 richieste in parallelo. Un trasferimento da 100 MB richiede circa un secondo su una rete locale.
Gestione dei fileRename, Delete, MakeDirectory, RemoveDirectoryTutto ciò che serve a un file manager.
AvanzamentoOnSFTPProgressRiporta i byte trasferiti, pronti per una barra di avanzamento.

File e intere cartelle

TsgcSCPClient copia file via SSH su qualsiasi server che consenta il comando scp.

FunzionalitàAPINote
File singoliUpload, DownloadCopia un file verso o dal percorso remoto.
Alberi di cartelleUploadFolder, DownloadFolderCopia ricorsivamente un'intera cartella.
Date dei filePreserveTimesMantiene le date di modifica e di accesso dall'altra parte.
AvanzamentoOnSCPProgressRiporta il nome del file e i byte trasferiti.

Il tuo servizio SSH

TsgcSSHServer accetta qualsiasi client SSH standard, compresi gli strumenti a riga di comando standard ssh, sftp e scp.

FunzionalitàAPINote
AscoltoPort, ActiveAvvia e ferma il server.
Chiavi hostHostKeyFiles, GenerateHostKeyEd25519Chiavi host Ed25519, ECDSA e RSA. La class procedure crea per te un file di chiave Ed25519.
Autenticazione con passwordOnSSHAuthPasswordVerifica nome utente e password nel tuo archivio utenti.
Autenticazione con chiave pubblicaOnSSHAuthPublicKeyRiceve il tipo di chiave e la sua impronta SHA256, così accetti solo le chiavi che conosci.
Comandi remotiOnSSHExec, SendChannelData, SendExitStatus, CloseChannelRispondi a un comando, riporta il suo exit status e chiudi il canale.
Shell interattivaOnSSHShell, OnSSHChannelDataServi una sessione di terminale dal tuo codice.
SubsystemSFTPServerLe richieste di subsystem come sftp vengono instradate a un TsgcSFTPServer collegato.
Eventi di connessioneOnSSHConnect, OnSSHDisconnectRegistra ogni connessione con l'indirizzo del peer.

Un file server con una jail per utente

TsgcSFTPServer si innesta in TsgcSSHServer e serve file da una cartella che i client non possono lasciare.

FunzionalitàAPINote
ProtocolliSFTP, SCPSFTP v3, più trasferimenti scp quando abilitato.
Cartella radiceRootFolderLa cartella mostrata ai client. I percorsi al di fuori sono rifiutati.
Una cartella per utenteOnSFTPUserRootRestituisci la radice di ogni utente, così ognuno vede solo i propri file.
Modalità sola letturaReadOnlyRifiuta upload, eliminazioni e rinomine.
Controllo per operazioneOnSFTPOperationScatta per ogni apertura in lettura o scrittura, rimozione, rinomina, creazione e rimozione di cartelle, cambio di attributi ed elenco. Imposta aAccept a False e il client riceve un errore di permesso negato.
Download di grandi dimensioniControllo di flussoI download usano una quantità costante di memoria, qualunque sia la dimensione del file.

Prima il post-quantum

Client e server propongono per primi gli algoritmi più forti e ripiegano su quelli classici solo quando l'altra parte ne ha bisogno.

AreaAlgoritmiNote
Scambio di chiavimlkem768x25519-sha256ML-KEM-768 combinato con X25519, il predefinito delle ultime versioni di SSH. Proposto per primo sia dal client sia dal server.
Scambio di chiavi classicocurve25519, ECDH, Diffie-Hellman group14 e group16Usati quando l'altra parte non supporta lo scambio ibrido.
CifrariAES-GCM, AES-CTRAES-GCM è accelerato in hardware da .NET 8 in poi.
Chiavi host e utenteEd25519, ECDSA, RSAFirme RSA con SHA-2, selezionate tramite server-sig-algs.
File di chiaviPEM, PKCS#8, OpenSSH (.NET)Le chiavi private cifrate si aprono con una passphrase.
Strict key exchangeMitigazione di TerrapinChiude l'attacco di troncamento del prefisso sull'handshake SSH.

Compilatori, framework e target

Gli stessi cinque componenti su Delphi e .NET.

AreaDettaglio
DelphiDa Delphi 7 a 13, per VCL, FMX, applicazioni console e servizi.
Target DelphiWindows Win32, Windows Win64 e Linux64.
.NET.NET 8, .NET 9, .NET 10 e .NET Standard 2.0, in codice completamente gestito e senza OpenSSL.
DemoDemos\27.SSH: client SSH, client SFTP, client SCP, server SSH e server SFTP.
EdizioniTutti e cinque i componenti sono inclusi anche in sgcWebSockets Enterprise, e All-Access comprende tutto. Su .NET sono nel pacchetto registrato, non nell'edizione Community.
LicenzeAutonomo. Il runtime sgcWebSockets Core è incluso, sgcCustomIndy è compreso nell'ordine e il codice sorgente completo è incluso.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Sviluppa con sgcSSH

Scarica la versione di prova gratuita e lancia il tuo primo comando remoto o upload SFTP da Delphi o .NET.