sgcSSHSSH e SFTP,cliente e servidor.Pós-quântico primeiro.
Cinco componentes cobrem as duas pontas de uma conexão SSH. TsgcSSHClient executa comandos remotos, abre um shell interativo e redireciona portas. TsgcSFTPClient e TsgcSCPClient movem arquivos e pastas inteiras. TsgcSSHServer e TsgcSFTPServer colocam o seu próprio serviço SSH e SFTP dentro da sua aplicação. A troca de chaves híbrida mlkem768x25519-sha256 é oferecida primeiro nos dois lados. Independente, com o runtime sgcWebSockets Core incluído.
sgcSSH | troca de chaves, depois comandos e arquivos em uma só conexão
5Componentes, três clientes e dois servidores, em uma só página da paleta
16requisições SFTP em andamento, então 100 MB trafegam em cerca de um segundo em uma rede local
2Linguagens, Delphi e .NET, com as mesmas cinco classes
1Instalador independente, com o runtime Core dentro
100%Código-fonte incluído em cada licença
O que há no pacote
Três clientes, dois servidores, um só estilo de API.
Cada um é um componente não visual que você solta em um formulário ou cria em código. Defina o host e as credenciais, ligue os eventos e depois conecte ou comece a escutar. As classes .NET têm os mesmos nomes, então um fluxo SSH se lê igual nas duas linguagens.
Comandos, shells e túneis
TsgcSSHClient conecta com uma senha ou uma chave privada, e OnSSHHostKey entrega a você a impressão digital da chave do host para conferir. Execute executa um comando e devolve a saída em uma só chamada. RequestPTY e RequestShell abrem um terminal interativo, e OpenDirectTCPIP e RequestForwarding redirecionam portas nos dois sentidos.
Transferências rápidas de arquivos, um método para cada
TsgcSFTPClient fala SFTP v3 sobre a mesma conexão SSH. ListDirectory devolve nomes, tamanhos e datas, Put e Get movem um arquivo em uma só chamada, e Rename, Delete, MakeDirectory e RemoveDirectory cobrem o resto. As transferências mantêm 16 requisições em andamento em vez de esperar cada bloco.
TsgcSCPClient copia arquivos por SSH para qualquer servidor que permita o comando scp, sem um serviço de transferência de arquivos separado. UploadFolder e DownloadFolder copiam uma árvore de pastas recursivamente, e PreserveTimes mantém os horários de modificação e de acesso do outro lado.
TsgcSSHServer escuta na porta que você escolher, com chaves de host Ed25519, ECDSA ou RSA, e GenerateHostKeyEd25519 cria uma para você. OnSSHAuthPassword e OnSSHAuthPublicKey decidem quem entra, OnSSHExec responde a comandos remotos e OnSSHShell atende uma sessão interativa.
TsgcSFTPServer atende transferências SFTP v3 e scp a partir de RootFolder, e os clientes não conseguem sair dela. OnSFTPUserRoot dá a cada usuário uma pasta própria, ReadOnly recusa alterações, e OnSFTPOperation é disparado a cada abertura, renomeação, remoção e listagem, então você permite, nega e registra cada uma.
A troca híbrida mlkem768x25519-sha256 combina ML-KEM-768 com X25519, de modo que uma sessão gravada hoje continua privada diante de um futuro computador quântico. PostQuantumKex vem ativada por padrão, e o cliente e o servidor a oferecem primeiro. A troca de chaves estrita fecha o ataque Terrapin.
Os mesmos cinco componentes no Delphi 7 a 13 em Windows 32 e 64 bits e Linux 64 bits, e no .NET 8, 9 e 10 e no .NET Standard 2.0. A versão .NET é código totalmente gerenciado, sem OpenSSL para distribuir. Ambas rodam dentro de um aplicativo desktop, uma ferramenta de console ou um serviço.
O sgcSSH é um pacote independente. Ele inclui o runtime sgcWebSockets Core e a criptografia nativa em que a troca de chaves se apoia, e cada licença vem com o código-fonte completo, então você percorre o código do protocolo no seu próprio depurador. A distribuição é livre de royalties.
Os clientes seguem um só formato: defina o host e as credenciais, conecte, chame um método. Os servidores seguem outro: defina a porta e a chave do host, ligue os eventos, ative.
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 vem ativada por padrão, então toda sessão negocia mlkem768x25519-sha256 sempre que o outro lado a suportar. O quick start completo →
Solte um componente em um formulárioOs cinco componentes ficam na página SGC SSH da paleta, ou você os cria em código em uma ferramenta de console ou em um serviço.
Defina o host e as credenciaisUma senha ou uma chave privada de um arquivo PEM ou PKCS#8, e OnSSHHostKey para conferir a impressão digital do servidor.
Chame um métodoExecute para um comando, Put e Get para SFTP, UploadFolder para scp, com eventos de progresso em cada transferência.
Ou sirva você mesmoVincule o TsgcSFTPServer ao TsgcSSHServer, decida quem entra a partir do seu próprio repositório de usuários, e qualquer cliente ssh, sftp ou scp padrão se conecta.
Antes de comprar
Quatro coisas que vale saber antes.
O que o sgcSSH negocia, se você já tem estes componentes, em que a versão Delphi se apoia e como experimentar. As respostas são curtas e estão nesta página, não nas letras miúdas.
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
troca de chaves, oferecida nesta ordemmlkem768x25519-sha256híbrida pós-quânticacurve25519, ECDH, DH group14 and group16ciphersAES-GCM, AES-CTRkeysEd25519, ECDSA, RSA
O sgcSSH é autossuficienteO runtime sgcWebSockets Core está incluído, junto com a criptografia nativa em que a troca de chaves se apoia: ML-KEM-768, X25519, ECDH, AES-GCM e a família SHA-2. Um instalador, código-fonte completo na caixa.
Já está na sua edição do sgcWebSockets?Os cinco componentes vêm no sgcWebSockets Enterprise, e o All-Access inclui tudo. No .NET eles vêm no pacote sgcWebSockets registrado, não na edição Community gratuita.
O SSH para Delphi precisa do sgcCustomIndyOs componentes Delphi são construídos sobre as units SSH da biblioteca Indy modificada que o sgcCustomIndy fornece como complemento. Ele é sempre incluído quando você pede o sgcSSH, e o preço exibido já o cobre.
Experimente antes de comprarO instalador de avaliação gratuito é o trial do sgcWebSockets All-Access, então os cinco componentes podem ser avaliados hoje. As demos em Demos\27.SSH cobrem cada um deles.
Troca de chaves, autenticação, canais e transferências são todos métodos e eventos de primeira classe, e o código-fonte completo significa que nada no meio é uma caixa-preta. Cada componente e propriedade →
Parte do sgcWebSockets
Licenciado separadamente, ou já na sua edição.
O sgcSSH é um pacote da família sgcWebSockets. Compre-o de forma independente, com o runtime Core embutido, ou receba os cinco componentes com o sgcWebSockets Enterprise ou o All-Access.
sgcSSH
Os clientes SSH, SFTP e SCP e os servidores SSH e SFTP, independentes, com o runtime sgcWebSockets Core incluído.
€398 / licença Single
Cliente SSH: comandos, shell, pty e redirecionamento de portas
A biblioteca completa: clientes e servidores WebSocket, HTTP/2, IoT, P2P e componentes de IA. A edição Enterprise também inclui os componentes SSH e SFTP.
€699 / Enterprise
Os cinco componentes SSH no Enterprise e no All-Access
Se você tem o sgcWebSockets Enterprise ou o All-Access, já tem os cinco componentes. O sgcSSH é para SSH e SFTP sem licenciar uma edição completa do sgcWebSockets.
O sgcSSH é uma das bibliotecas de componentes da eSeGeCe para Delphi, C++ Builder e .NET. Elas compartilham convenções, vêm com o código-fonte completo e são distribuídas sem royalties.