sgcSSH matriz de recursos

Tudo o que o sgcSSH faz, mapeado nos três componentes cliente, nos dois componentes servidor e nos algoritmos que eles negociam. As mesmas classes existem em Delphi e .NET, e toda licença inclui o código-fonte completo.

Cliente SSH

Comandos, shells, encaminhamento e rekey

Cliente SFTP

Transferências rápidas, 16 requisições em andamento

Cliente SCP

Arquivos e pastas inteiras

Servidor SSH

Autenticação, exec, shell e subsistemas

Servidor SFTP

Uma jail por usuário, modo somente leitura

Algoritmos

Troca de chaves pós-quântica primeiro

Plataformas

Delphi 7 a 13 e .NET

O sgcSSH é autossuficiente. Ele já vem com o runtime sgcWebSockets Core embutido, e o complemento sgcCustomIndy em que os componentes Delphi se baseiam está sempre incluído no pedido.

Também dentro do sgcWebSockets. Os cinco componentes também vêm dentro do sgcWebSockets Enterprise, e o All-Access inclui tudo. No .NET eles fazem parte do pacote registrado, não da edição Community gratuita. O sgcSSH é o pacote autônomo para equipes que só precisam de SSH e SFTP.

Cinco componentes da paleta

Três clientes e dois servidores, registrados na página SGC SSH da paleta.

ComponenteClasseFunçãoDescrição
Cliente SSHTsgcSSHClientExecutar comandosComandos remotos, um shell interativo com pty, encaminhamento de portas local e remoto e rekey de sessões de longa duração.
Cliente SFTPTsgcSFTPClientTransferir arquivosOperações de gerenciador de arquivos SFTP v3 com 16 requisições em andamento, então uma transferência de 100 MB leva cerca de um segundo em uma rede local.
Cliente SCPTsgcSCPClientCopiar arquivos e pastasEnvia e baixa arquivos únicos ou árvores de pastas inteiras com scp, mantendo os horários dos arquivos se você quiser.
Servidor SSHTsgcSSHServerAceitar clientes SSHAutenticação por senha e chave pública, requisições exec, shell e de subsistema, com chaves de host Ed25519, ECDSA e RSA.
Servidor SFTPTsgcSFTPServerServir uma pastaSFTP v3 e SCP a partir de uma pasta raiz, com uma jail por usuário, um modo somente leitura e um evento para permitir ou negar cada operação.

Comandos, shells e túneis

O TsgcSSHClient abre uma conexão SSH autenticada e executa nela quantos canais você precisar.

RecursoAPIObservações
ConexãoHost, Port, Connect, DisconnectPorta 22 por padrão.
Autenticação por senhaAuthentication.Username, Authentication.PasswordLogin simples com nome de usuário e senha.
Autenticação por chave públicaAuthentication.PrivateKeyFile, Authentication.PassphraseChaves privadas Ed25519, ECDSA e RSA em arquivos PEM ou PKCS#8, e também no formato OpenSSH no .NET.
Verificação da chave do hostOnSSHHostKeyRecebe o tipo da chave e a impressão digital, para você compará-los com o seu repositório de hosts conhecidos e rejeitar uma chave desconhecida ou alterada.
Comando remotoExecuteAbre um canal, executa o comando e devolve a saída como string, com um timeout.
Shell interativoOpenChannel, RequestPTY, RequestShellUma sessão de terminal com o tipo e o tamanho de terminal que você escolher.
Entrada e saída do shellSendChannelData, OnSSHChannelDataEnvie o que o usuário digita, receba o que o servidor imprime.
Controle do terminalSendWindowChange, SendSignal, SendEOFRedimensione o terminal, envie um sinal ou encerre a entrada de um canal.
Canais exec e de subsistemaRequestExec, RequestSubsystemRequisições de canal de baixo nível para protocolos personalizados sobre SSH.
Encaminhamento de portas localOpenDirectTCPIPAbre um canal direct-tcpip para um host e uma porta acessíveis a partir do servidor.
Encaminhamento de portas remotoRequestForwarding, CancelForwardingPede ao servidor que escute em uma porta e encaminhe as conexões de volta ao cliente.
RekeyRekeyRenova as chaves de sessão de uma conexão de longa duração.
Troca de chaves pós-quânticaPostQuantumKexAtivada por padrão: oferece mlkem768x25519-sha256 primeiro.

Transferências rápidas, um método para cada

O TsgcSFTPClient implementa SFTP v3 sobre o mesmo transporte SSH, com as mesmas opções de autenticação e de troca de chaves do cliente SSH.

RecursoAPIObservações
Pasta homeRealPathResolve um caminho como . para o caminho absoluto no servidor.
Listagem de pastaListDirectoryNome, tamanho, data de modificação e indicador de pasta de cada entrada.
Upload e downloadPut, GetUma chamada por arquivo, com 16 requisições em andamento. Uma transferência de 100 MB leva cerca de um segundo em uma rede local.
Gerenciamento de arquivosRename, Delete, MakeDirectory, RemoveDirectoryTudo o que um gerenciador de arquivos precisa.
ProgressoOnSFTPProgressInforma os bytes transferidos, pronto para uma barra de progresso.

Arquivos e pastas inteiras

O TsgcSCPClient copia arquivos via SSH para qualquer servidor que permita o comando scp.

RecursoAPIObservações
Arquivos únicosUpload, DownloadCopie um arquivo para o caminho remoto ou a partir dele.
Árvores de pastasUploadFolder, DownloadFolderCopie uma pasta inteira de forma recursiva.
Horários dos arquivosPreserveTimesMantém os horários de modificação e de acesso do outro lado.
ProgressoOnSCPProgressInforma o nome do arquivo e os bytes transferidos.

Seu próprio serviço SSH

O TsgcSSHServer aceita qualquer cliente SSH padrão, inclusive as ferramentas de linha de comando padrão ssh, sftp e scp.

RecursoAPIObservações
EscutaPort, ActiveInicie e pare o servidor.
Chaves de hostHostKeyFiles, GenerateHostKeyEd25519Chaves de host Ed25519, ECDSA e RSA. O class procedure cria um arquivo de chave Ed25519 para você.
Autenticação por senhaOnSSHAuthPasswordConfira o nome de usuário e a senha no seu próprio repositório de usuários.
Autenticação por chave públicaOnSSHAuthPublicKeyRecebe o tipo da chave e a impressão digital SHA256, para você aceitar apenas as chaves que conhece.
Comandos remotosOnSSHExec, SendChannelData, SendExitStatus, CloseChannelResponda a um comando, informe seu exit status e feche o canal.
Shell interativoOnSSHShell, OnSSHChannelDataAtenda uma sessão de terminal a partir do seu próprio código.
SubsistemasSFTPServerRequisições de subsistema como sftp são roteadas para um TsgcSFTPServer vinculado.
Eventos de conexãoOnSSHConnect, OnSSHDisconnectRegistre cada conexão com o endereço do peer.

Um servidor de arquivos com uma jail por usuário

O TsgcSFTPServer se encaixa no TsgcSSHServer e serve arquivos de uma pasta da qual os clientes não conseguem sair.

RecursoAPIObservações
ProtocolosSFTP, SCPSFTP v3, mais transferências scp quando ativado.
Pasta raizRootFolderA pasta mostrada aos clientes. Caminhos fora dela são recusados.
Uma pasta por usuárioOnSFTPUserRootDevolva a raiz de cada usuário, para que cada um veja apenas os seus próprios arquivos.
Modo somente leituraReadOnlyRecusa uploads, exclusões e renomeações.
Controle por operaçãoOnSFTPOperationDispara a cada abertura para leitura ou escrita, remoção, renomeação, criação e remoção de pasta, mudança de atributos e listagem. Defina aAccept como False e o cliente recebe um erro de permissão negada.
Downloads grandesControle de fluxoOs downloads usam memória constante, seja qual for o tamanho do arquivo.

Pós-quântico primeiro

Cliente e servidor oferecem primeiro os algoritmos mais fortes e só recorrem aos clássicos quando o outro lado precisa deles.

ÁreaAlgoritmosObservações
Troca de chavesmlkem768x25519-sha256ML-KEM-768 combinado com X25519, o padrão das versões mais recentes do SSH. Oferecido primeiro pelo cliente e pelo servidor.
Troca de chaves clássicacurve25519, ECDH, Diffie-Hellman group14 e group16Usados quando o outro lado não suporta a troca híbrida.
CifrasAES-GCM, AES-CTRO AES-GCM tem aceleração por hardware no .NET 8 e posterior.
Chaves de host e de usuárioEd25519, ECDSA, RSAAssinaturas RSA com SHA-2, selecionadas por meio do server-sig-algs.
Arquivos de chavePEM, PKCS#8, OpenSSH (.NET)Chaves privadas criptografadas são abertas com uma passphrase.
Strict key exchangeMitigação do TerrapinFecha o ataque de truncamento de prefixo no handshake SSH.

Compiladores, frameworks e destinos

Os mesmos cinco componentes em Delphi e .NET.

ÁreaDetalhe
DelphiDelphi 7 até 13, para VCL, FMX, aplicações de console e serviços.
Destinos DelphiWindows Win32, Windows Win64 e Linux64.
.NET.NET 8, .NET 9, .NET 10 e .NET Standard 2.0, em código totalmente gerenciado e sem OpenSSL.
DemosDemos\27.SSH: cliente SSH, cliente SFTP, cliente SCP, servidor SSH e servidor SFTP.
EdiçõesOs cinco componentes também vêm dentro do sgcWebSockets Enterprise, e o All-Access inclui tudo. No .NET eles vêm no pacote registrado, não na edição Community.
LicenciamentoAutônomo. O runtime sgcWebSockets Core vem embutido, o sgcCustomIndy está incluído no pedido e o código-fonte completo está incluído.
Melhor custo-benefício: All-AccessTodos os produtos da eSeGeCe, com Suporte Premium incluído, a partir de €1,059/ano.
Ver preços do All-Access

Crie com o sgcSSH

Baixe a avaliação gratuita e execute seu primeiro comando remoto ou upload SFTP a partir de Delphi ou .NET.