sgcSSH: clientes y servidores SSH y SFTP para Delphi y .NET
Cinco componentes cubren los dos extremos de una conexión SSH. TsgcSSHClient ejecuta comandos remotos, abre una shell interactiva con pty y reenvía puertos. TsgcSFTPClient y TsgcSCPClient mueven archivos y carpetas completas. TsgcSSHServer y TsgcSFTPServer ponen tu propio servicio SSH y SFTP dentro de tu aplicación, con una jaula por usuario. El intercambio de claves híbrido post-quantum mlkem768x25519-sha256, el valor por defecto de las últimas versiones de SSH, lo ofrecen en primer lugar tanto el cliente como el servidor.
Intercambio de clavesML-KEM-768 + X25519mlkem768x25519-sha256, ofrecido primero en ambos lados
ClientesSSH, SFTP, SCP
ServidoresSSH, SFTP
5ComponentesTres clientes y dos servidores
16Peticiones SFTP en vueloUna transferencia de 100 MB tarda cerca de un segundo en una red local
2LenguajesDelphi y .NET, las mismas cinco clases
100%Código fuente incluidoTodos los componentes y el runtime Core incluido
12Meses de actualizacionesCada versión publicada mientras tu licencia esté activa
ANTES DE COMPRAR
Tres cosas que conviene saber primero
Qué necesita sgcSSH de ti, si ya tienes estos componentes y sobre qué se construye la versión Delphi. Las tres respuestas son breves.
sgcSSH es autocontenido
Independiente, el runtime sgcWebSockets Core viene incluido, junto con la criptografía nativa sobre la que corre el intercambio de claves: ML-KEM-768, X25519, ECDH, AES-GCM y la familia SHA-2. Un solo SKU, un solo instalador.
El código fuente completo se entrega con cada licencia, así que puedes recorrer el código del protocolo paso a paso en tu propio depurador, en lugar de verlo desaparecer dentro de un binario.
Solapamiento de ediciones
¿Ya lo tienes en tu edición de sgcWebSockets?
Los cinco componentes SSH se entregan dentro de sgcWebSockets Enterprise, y All-Access lo incluye todo. En .NET se entregan en el paquete registrado de sgcWebSockets, no en la edición gratuita Community.
sgcSSH existe para el caso contrario: quieres SSH y SFTP en tu aplicación sin licenciar una edición completa de sgcWebSockets. Comprueba qué cubre ya tu edición antes de comprar.
Add-on necesario
SSH en Delphi necesita sgcCustomIndy
Los componentes Delphi se construyen sobre las unidades SSH de la librería Indy parcheada que sgcCustomIndy entrega como add-on. sgcCustomIndy siempre se incluye cuando pides sgcSSH.
El precio de sgcSSH que se muestra ya cubre sgcCustomIndy.
QUÉ INCLUYE
Tres clientes, dos servidores
Cada uno es un componente no visual que sueltas en un formulario o creas por código, registrado en la página de paleta SGC SSH. Indica el host y las credenciales, conecta los eventos y luego conecta o empieza a escuchar. Las clases de .NET llevan los mismos nombres.
Cliente SSH1 componente
Comandos, shells y túneles
TsgcSSHClient se conecta con una contraseña o una clave privada, y OnSSHHostKey te entrega el tipo y la huella de la clave del host para compararlos con tu almacén de hosts conocidos. Execute ejecuta un comando y devuelve su salida en una sola llamada. Para una sesión interactiva, OpenChannel, RequestPTY y RequestShell abren un terminal, SendChannelData escribe en él y OnSSHChannelData devuelve lo que imprime el servidor, con SendWindowChange y SendSignal para el resto del protocolo de terminal. OpenDirectTCPIP reenvía una conexión local a través del servidor, RequestForwarding pide al servidor que reenvíe un puerto remoto hacia ti y Rekey renueva las claves de sesión de una conexión de larga duración.
TsgcSFTPClient habla SFTP v3 sobre la misma conexión SSH. RealPath resuelve la carpeta de inicio, ListDirectory devuelve nombres, tamaños, fechas y el indicador de carpeta, y Put y Get suben y descargan un archivo en una sola llamada. Rename, Delete, MakeDirectory y RemoveDirectory cubren el resto de un gestor de archivos, y OnSFTPProgress informa de los bytes transferidos para una barra de progreso. Las transferencias mantienen 16 peticiones en vuelo en lugar de esperar a cada bloque, así que un archivo de 100 MB tarda cerca de un segundo en una red local.
TsgcSCPClient copia archivos por SSH a cualquier servidor que permita el comando scp, sin un servicio de transferencia de archivos aparte. Upload y Download copian un archivo, UploadFolder y DownloadFolder copian un árbol de carpetas completo de forma recursiva, y PreserveTimes conserva las fechas de modificación y de acceso en el otro lado. OnSCPProgress informa del nombre del archivo y de los bytes transferidos.
TsgcSSHServer escucha en el puerto que elijas y demuestra su identidad con claves de host Ed25519, ECDSA o RSA cargadas desde HostKeyFiles, y GenerateHostKeyEd25519 crea una por ti. OnSSHAuthPassword y OnSSHAuthPublicKey deciden quién entra, el segundo con el tipo de clave y su huella SHA256. OnSSHExec responde a comandos remotos, OnSSHShell atiende una sesión interactiva, y las peticiones de subsistema se dirigen a tu manejador o a TsgcSFTPServer. Cualquier cliente SSH estándar se conecta a él, incluidas las herramientas de línea de comandos estándar ssh, sftp y scp.
TsgcSFTPServer se enlaza con el servidor SSH mediante su propiedad SFTPServer y sirve SFTP v3 y, con SCP activado, transferencias scp desde RootFolder. Los clientes no pueden salir de esa carpeta. OnSFTPUserRoot da a cada usuario una carpeta propia, ReadOnly rechaza subidas, borrados y renombrados, y OnSFTPOperation se dispara en cada apertura, borrado, renombrado, cambio de carpeta, cambio de atributos y listado, de modo que permites o deniegas cada uno y lo registras. El control de flujo mantiene constante la memoria de una descarga grande, sea cual sea el tamaño del archivo.
TsgcSFTPServerSFTP v3 · SCP · jaula por usuario · solo lectura
CASOS DE USO
SSH y SFTP desde tu propio código
Los componentes son componentes no visuales corrientes, así que encajan en lo que ya sea tu aplicación: una aplicación de escritorio VCL o FMX, una herramienta de consola, un servicio de Windows, un demonio de Linux o un worker de .NET. Estos son los patrones que construyen los clientes, cada uno asociado al miembro que lo impulsa.
EX
Ejecuta comandos de mantenimiento en servidores LinuxExecute
Reinicia un servicio, lee un log o comprueba el espacio en disco desde una herramienta Delphi o .NET, y recibe la salida como una cadena.
TM
Una ventana de terminal integradaRequestPTY
Abre una shell con pty y muéstrala en tu propia interfaz, para herramientas de soporte y consolas de dispositivos.
FT
Intercambio programado de archivos con sociosPut / Get
Sube facturas y descarga informes por SFTP desde un servicio, con eventos de progreso y de error.
TN
Llega a una base de datos detrás de un bastiónOpenDirectTCPIP
Reenvía una conexión a través del servidor SSH en lugar de abrir el puerto de la base de datos a la red.
SV
Un buzón SFTP dentro de tu productoOnSFTPUserRoot
Da a cada cliente una carpeta privada, con tu propia base de datos de usuarios decidiendo quién entra.
PQ
Tráfico que seguirá siendo privado en el futuroPostQuantumKex
El intercambio híbrido ML-KEM-768 y X25519 protege las sesiones grabadas hoy frente a un futuro ordenador cuántico.
CÓMO FUNCIONA
Post-quantum primero, solo algoritmos modernos
Cliente y servidor negocian los algoritmos más fuertes que admiten ambos lados, empezando por el intercambio de claves híbrido post-quantum. No hay que configurar nada para obtenerlo.
mlkem768x25519-sha256 se ofrece primero
El intercambio híbrido combina ML-KEM-768 con X25519, de modo que las claves de sesión siguen a salvo incluso frente a un atacante que graba el tráfico hoy y tendrá un ordenador cuántico más adelante. Es el valor por defecto de las últimas versiones de SSH, y los clientes y servidores SSH actuales lo negocian automáticamente. PostQuantumKex está activado por defecto.
Algoritmos clásicos como alternativa
Cuando el otro lado no lo admite, el intercambio recurre a curve25519, ECDH y Diffie-Hellman group14 y group16. Los cifrados son AES-GCM y AES-CTR, y las claves de host y de usuario son Ed25519, ECDSA o RSA.
Intercambio de claves estricto contra Terrapin
El intercambio de claves estricto cierra el ataque de truncamiento de prefijo Terrapin, y server-sig-algs permite al cliente elegir una firma RSA con SHA-2 en lugar de la antigua con SHA-1. Las claves privadas se cargan desde archivos PEM y PKCS#8, y la versión .NET también lee el formato de clave de OpenSSH.
Criptografía nativa en ambas plataformas
El intercambio de claves corre sobre las unidades de criptografía nativa de sgcWebSockets en Delphi y sobre código totalmente gestionado en .NET, sin OpenSSL que desplegar en la versión .NET. En .NET 8 y posteriores, AES-GCM tiene aceleración por hardware.
INICIO RÁPIDO
Ejecuta un comando, sirve una carpeta
Los clientes siguen una misma forma: indica el host y las credenciales, conecta y llama a un método. Los servidores siguen otra: indica el puerto y la clave de host, conecta los eventos y activa.
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 está activado por defecto, así que ambas sesiones negocian mlkem768x25519-sha256 siempre que el servidor lo admita.
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); // your user storeend;
procedure TForm1.SFTPUserRoot(Sender: TObject; const aUsername: string;
var aRootFolder: string);
begin
aRootFolder := 'D:\sftp\' + aUsername; // one jail per userend;
Conéctate con sftp -P 2222 user@127.0.0.1 o scp -P 2222 file.txt user@127.0.0.1:/. Las demos de Demos\27.SSH cubren los cinco componentes.
PLATAFORMAS
Delphi y .NET, escritorio y servidor
Los mismos cinco componentes en ambas plataformas, para aplicaciones de escritorio, herramientas de consola y servicios.
DelphiDelphi 7 a 13, VCL, FMX, consola y servicios
Windows Win32Windows Win64Linux64
.NETCódigo totalmente gestionado, sin OpenSSL
.NET 8.NET 9.NET 10.NET Standard 2.0
ComponentesRegistrados en la página de paleta SGC SSH
sgcSSH se licencia por separado, desde €398 para un solo desarrollador. Todas las licencias incluyen código fuente completo, 1 año de actualizaciones y un descuento de renovación del 50% al 70%: un 50% al renovar un pack, un 60% con dos y un 70% con tres o más. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP, sgcREST, sgcCrypto y sgcSSH cuentan cada uno como un pack.
sgcSSH
€398
Disponible en licencias Single, Team y Site.
Cliente SSH: comandos, shell con pty, reenvío de puertos, rekey
Clientes SFTP y SCP para archivos y carpetas
Servidores SSH y SFTP con una jaula por usuario
Intercambio de claves post-quantum mlkem768x25519-sha256
Runtime sgcWebSockets Core y sgcCustomIndy incluidos
Delphi 7 a 13 y .NET
Código fuente completo
1 año de actualizaciones
sgcSSH incluye el runtime sgcWebSockets Core, así que no hay nada más que comprar para los componentes SSH y SFTP.
El pago muestra tres líneas: el derecho al runtime sgcWebSockets Core, que se cobra a cero, el propio pack sgcSSH y sgcCustomIndy, que requieren los componentes SSH de Delphi. sgcCustomIndy siempre se incluye y el precio mostrado ya lo cubre. Detalles completos de precios.
3,000+Desarrolladores
20+Años
761+Componentes
30+Integraciones de API
5Plataformas
Garantía de devolución de 30 días¿No estás satisfecho? Solicita un reembolso completo en los 30 días posteriores a la compra. Ver política de reembolso
Lanza SSH y SFTP, listos para la era post-quantum
Clientes y servidores desde código nativo de Delphi y .NET, con el runtime incluido y el código fuente completo en la caja. Descarga hoy mismo el instalador de prueba All-Access y conéctate a tu primer servidor.
Combina sgcSSH con nuestras otras bibliotecas de componentes para Delphi, C++ Builder y .NET.
sgcWebSockets
La biblioteca completa: clientes y servidores WebSocket, HTTP/2, IoT, P2P y componentes de IA. Su edición Enterprise incluye también los componentes SSH y SFTP.
La biblioteca Indy personalizada sobre la que se construye sgcWebSockets Enterprise, empaquetada como add-on. Requerida por los componentes SSH de Delphi, siempre incluida en los pedidos de sgcSSH.