Produkt samodzielny Postkwantowe SSH i SFTP

sgcSSH: klienty i serwery SSH i SFTP dla Delphi i .NET

Pięć komponentów obejmuje obie strony połączenia SSH. TsgcSSHClient uruchamia zdalne polecenia, otwiera interaktywną powłokę z pty i przekierowuje porty. TsgcSFTPClient i TsgcSCPClient przesyłają pliki i całe foldery. TsgcSSHServer i TsgcSFTPServer umieszczają własną usługę SSH i SFTP wewnątrz twojej aplikacji, z osobnym jailem dla każdego użytkownika. Hybrydowa postkwantowa wymiana kluczy mlkem768x25519-sha256, domyślna w najnowszych wydaniach SSH, jest oferowana jako pierwsza zarówno przez klienta, jak i przez serwer.

Pełny kod źródłowy
Delphi 7 do 13 i .NET
Wymiana kluczy ML-KEM-768 + X25519 mlkem768x25519-sha256, oferowana jako pierwsza po obu stronach
Klienty SSH, SFTP, SCP
Serwery SSH, SFTP
5 Komponentów Trzy klienty i dwa serwery
16 Żądań SFTP naraz Transfer 100 MB trwa około sekundy w sieci lokalnej
2 Języki Delphi i .NET, te same pięć klas
100% Kod źródłowy w zestawie Każdy komponent i dołączone środowisko Core
12 Miesięcy aktualizacji Każde wydanie opublikowane w okresie ważności licencji

Trzy rzeczy, które warto wiedzieć najpierw

Czego sgcSSH potrzebuje od ciebie, czy masz już te komponenty i na czym opiera się wersja dla Delphi. Wszystkie trzy odpowiedzi są krótkie.

sgcSSH jest samowystarczalny

W wersji samodzielnej środowisko uruchomieniowe sgcWebSockets Core jest w zestawie, razem z natywną kryptografią, na której działa wymiana kluczy: ML-KEM-768, X25519, ECDH, AES-GCM i rodziną SHA-2. Jeden SKU, jeden instalator.

Pełny kod źródłowy jest dołączony do każdej licencji, więc kod protokołu przejdziesz krok po kroku we własnym debugerze, zamiast gubić go w pliku binarnym.

Nakładanie się edycji

Masz to już w swojej edycji sgcWebSockets?

Wszystkie pięć komponentów SSH jest dostarczanych w sgcWebSockets Enterprise, a All-Access obejmuje wszystko. W .NET są częścią zarejestrowanego pakietu sgcWebSockets, a nie bezpłatnej edycji Community.

sgcSSH powstał na odwrotny przypadek: chcesz mieć SSH i SFTP w swojej aplikacji bez licencjonowania pełnej edycji sgcWebSockets. Sprawdź, co twoja edycja już obejmuje, zanim kupisz.

Wymagany dodatek

SSH dla Delphi wymaga sgcCustomIndy

Komponenty dla Delphi są zbudowane na modułach SSH zmodyfikowanej biblioteki Indy, którą sgcCustomIndy dostarcza jako dodatek. sgcCustomIndy jest zawsze wliczony w zamówienie sgcSSH.

Wyświetlana cena sgcSSH już obejmuje sgcCustomIndy.

Trzy klienty, dwa serwery

Każdy z nich to niewizualny komponent, który upuszczasz na formularz lub tworzysz w kodzie, zarejestrowany na stronie palety SGC SSH. Ustaw host i dane logowania, podłącz zdarzenia, a następnie połącz się lub zacznij nasłuchiwać. Klasy .NET mają te same nazwy.

Klient SSH1 komponent

Polecenia, powłoki i tunele

TsgcSSHClient łączy się za pomocą hasła lub klucza prywatnego, a OnSSHHostKey przekazuje ci typ klucza hosta i jego odcisk do sprawdzenia w twoim magazynie znanych hostów. Execute uruchamia polecenie i zwraca jego wynik w jednym wywołaniu. Dla sesji interaktywnej OpenChannel, RequestPTY i RequestShell otwierają terminal, SendChannelData wpisuje do niego tekst, a OnSSHChannelData zwraca to, co wypisuje serwer, natomiast SendWindowChange i SendSignal obsługują resztę protokołu terminala. OpenDirectTCPIP przekierowuje lokalne połączenie przez serwer, RequestForwarding prosi serwer o przekierowanie zdalnego portu z powrotem do ciebie, a Rekey odnawia klucze sesji długotrwałego połączenia.

TsgcSSHClient exec · shell · pty · przekierowanie portów · rekey
Klient SFTP1 komponent

Szybkie transfery plików, jedna metoda na operację

TsgcSFTPClient obsługuje SFTP v3 w tym samym połączeniu SSH. RealPath wyznacza folder domowy, ListDirectory zwraca nazwy, rozmiary, daty i flagę folderu, a Put i Get wysyłają i pobierają plik jednym wywołaniem. Rename, Delete, MakeDirectory i RemoveDirectory pokrywają resztę menedżera plików, a OnSFTPProgress raportuje liczbę przesłanych bajtów dla paska postępu. Transfery utrzymują 16 żądań naraz zamiast czekać na każdy blok, więc plik 100 MB przesyła się w około sekundę w sieci lokalnej.

TsgcSFTPClient SFTP v3 · 16 żądań naraz
Klient SCP1 komponent

Pliki i całe foldery przez scp

TsgcSCPClient kopiuje pliki przez SSH na dowolny serwer, który zezwala na polecenie scp, bez osobnej usługi transferu plików. Upload i Download kopiują jeden plik, UploadFolder i DownloadFolder kopiują rekurencyjnie całe drzewo folderów, a PreserveTimes zachowuje czasy modyfikacji i dostępu po drugiej stronie. OnSCPProgress raportuje nazwę pliku i liczbę przesłanych bajtów.

TsgcSCPClient pliki · foldery · zachowanie czasów
Serwer SSH1 komponent

Własna usługa SSH w twoim procesie

TsgcSSHServer nasłuchuje na wybranym porcie i potwierdza swoją tożsamość kluczami hosta Ed25519, ECDSA lub RSA wczytanymi z HostKeyFiles, a GenerateHostKeyEd25519 tworzy taki klucz za ciebie. OnSSHAuthPassword i OnSSHAuthPublicKey decydują, kto wejdzie, przy czym drugie zdarzenie dostaje typ klucza i jego odcisk SHA256. OnSSHExec odpowiada na zdalne polecenia, OnSSHShell obsługuje sesję interaktywną, a żądania podsystemów trafiają do twojego handlera lub do TsgcSFTPServer. Łączy się z nim dowolny standardowy klient SSH, w tym standardowe narzędzia wiersza poleceń ssh, sftp i scp.

TsgcSSHServer hasło · klucz publiczny · exec · shell · podsystemy
Serwer SFTP1 komponent

Serwer plików z osobnym jailem dla każdego użytkownika

TsgcSFTPServer łączy się z serwerem SSH przez właściwość SFTPServer i obsługuje SFTP v3 oraz, po włączeniu SCP, transfery scp z RootFolder. Klienci nie mogą go opuścić. OnSFTPUserRoot daje każdemu użytkownikowi własny folder, ReadOnly odrzuca wysyłanie, usuwanie i zmianę nazw, a OnSFTPOperation uruchamia się przy każdym otwarciu, usunięciu, zmianie nazwy, zmianie folderu, zmianie atrybutów i listowaniu, więc każdą operację możesz dopuścić lub odrzucić i zapisać w logu. Kontrola przepływu utrzymuje stałe zużycie pamięci przy dużym pobieraniu, niezależnie od rozmiaru pliku.

TsgcSFTPServer SFTP v3 · SCP · jail dla użytkownika · tylko do odczytu

SSH i SFTP z twojego własnego kodu

Komponenty są zwykłymi komponentami niewizualnymi, więc pasują do każdej aplikacji: pulpitowej VCL lub FMX, narzędzia konsolowego, usługi Windows, demona Linux lub procesu roboczego .NET. Oto wzorce budowane przez klientów, każdy przypisany do składowej, która go realizuje.

Polecenia konserwacyjne na serwerach Linux Execute

Zrestartuj usługę, odczytaj log lub sprawdź miejsce na dysku z narzędzia Delphi lub .NET i odbierz wynik jako ciąg znaków.

Wbudowane okno terminala RequestPTY

Otwórz powłokę z pty i pokaż ją we własnym interfejsie, dla narzędzi wsparcia i konsol urządzeń.

Zaplanowana wymiana plików z partnerami Put / Get

Wysyłaj faktury i pobieraj raporty przez SFTP z usługi, ze zdarzeniami postępu i błędów.

Dostęp do bazy danych za hostem bastionowym OpenDirectTCPIP

Przekieruj połączenie przez serwer SSH zamiast otwierać port bazy danych w sieci.

Skrzynka SFTP wewnątrz twojego produktu OnSFTPUserRoot

Daj każdemu klientowi prywatny folder, a o tym, kto się loguje, niech decyduje twoja własna baza użytkowników.

Ruch, który pozostaje prywatny w przyszłości PostQuantumKex

Hybrydowa wymiana ML-KEM-768 i X25519 chroni sesje nagrywane dzisiaj przed przyszłym komputerem kwantowym.

Najpierw postkwantowo, tylko nowoczesne algorytmy

Klient i serwer negocjują najsilniejsze algorytmy obsługiwane przez obie strony, zaczynając od hybrydowej postkwantowej wymiany kluczy. Nie trzeba niczego konfigurować, aby ją uzyskać.

mlkem768x25519-sha256 jest oferowana jako pierwsza

Hybrydowa wymiana łączy ML-KEM-768 z X25519, dzięki czemu klucze sesji pozostają bezpieczne nawet wobec atakującego, który nagrywa ruch dzisiaj, a komputer kwantowy będzie miał później. Jest domyślna w najnowszych wydaniach SSH, a aktualni klienci i serwery SSH negocjują ją automatycznie. PostQuantumKex jest domyślnie włączone.

Klasyczne algorytmy jako rozwiązanie awaryjne

Gdy druga strona jej nie obsługuje, wymiana przechodzi na curve25519, ECDH oraz Diffie-Hellman group14 i group16. Szyfry to AES-GCM i AES-CTR, a klucze hosta i klucze użytkowników to Ed25519, ECDSA lub RSA.

Ścisła wymiana kluczy przeciw Terrapin

Ścisła wymiana kluczy zamyka atak Terrapin polegający na obcinaniu prefiksu, a server-sig-algs pozwala klientowi wybrać podpis RSA z SHA-2 zamiast starszego z SHA-1. Klucze prywatne wczytuje się z plików PEM i PKCS#8, a wersja .NET czyta także format kluczy OpenSSH.

Natywna kryptografia na obu platformach

Wymiana kluczy działa na natywnych modułach kryptograficznych sgcWebSockets w Delphi i w w pełni zarządzanym kodzie w .NET, bez OpenSSL do wdrożenia w wersji .NET. W .NET 8 i nowszych AES-GCM jest przyspieszany sprzętowo.

Uruchom polecenie, udostępnij folder

Klienty mają jeden schemat: ustaw host i dane logowania, połącz się, wywołaj metodę. Serwery mają inny: ustaw port i klucz hosta, podłącz zdarzenia, aktywuj.

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 jest domyślnie włączone, więc obie sesje negocjują mlkem768x25519-sha256, gdy tylko serwer ją obsługuje.

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 store
end;

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

Połącz się przez sftp -P 2222 user@127.0.0.1 lub scp -P 2222 file.txt user@127.0.0.1:/. Demonstracje w Demos\27.SSH obejmują wszystkie pięć komponentów.

Delphi i .NET, desktop i serwer

Te same pięć komponentów na obu platformach, dla aplikacji desktopowych, narzędzi konsolowych i usług.

Delphi Delphi 7 do 13, VCL, FMX, konsola i usługi
Windows Win32 Windows Win64 Linux64
.NET W pełni zarządzany kod, bez OpenSSL
.NET 8 .NET 9 .NET 10 .NET Standard 2.0
Komponenty Zarejestrowane na stronie palety SGC SSH
TsgcSSHClient TsgcSFTPClient TsgcSCPClient TsgcSSHServer TsgcSFTPServer
Instalator wersji próbnej Wersja próbna sgcWebSockets All-Access zawiera komponenty SSH
Jedno pobranie, wszystkie pięć komponentów

Pobierz instalator wersji próbnej →

Pakiet samodzielny

sgcSSH jest licencjonowany samodzielnie, już od €398 dla jednego programisty. Wszystkie licencje obejmują pełny kod źródłowy, 1 rok aktualizacji oraz od 50% do 70% rabatu na odnowienie: 50% przy odnowieniu jednego pakietu, 60% przy dwóch, 70% przy trzech lub więcej. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP, sgcREST, sgcCrypto i sgcSSH liczą się każdy jako jeden pakiet.

sgcSSH

€398

Dostępne licencje Single, Team i Site.

  • Klient SSH: polecenia, powłoka z pty, przekierowanie portów, rekey
  • Klienty SFTP i SCP dla plików i folderów
  • Serwery SSH i SFTP z osobnym jailem dla każdego użytkownika
  • Postkwantowa wymiana kluczy mlkem768x25519-sha256
  • Środowisko uruchomieniowe sgcWebSockets Core i sgcCustomIndy w zestawie
  • Delphi 7 do 13 i .NET
  • Pełny kod źródłowy
  • 1 rok aktualizacji

sgcSSH zawiera środowisko uruchomieniowe sgcWebSockets Core, więc do komponentów SSH i SFTP nie trzeba niczego dokupować.

Kasa wyświetla trzy pozycje: uprawnienie do środowiska uruchomieniowego sgcWebSockets Core, naliczane w cenie zero, sam pakiet sgcSSH oraz sgcCustomIndy, którego wymagają komponenty SSH dla Delphi. sgcCustomIndy jest zawsze wliczony, a wyświetlana cena już go obejmuje. Pełne szczegóły cennika.

3,000+Programistów
20+Lat
761+Komponentów
30+Integracji API
5Platform
30-dniowa gwarancja zwrotu pieniędzyNie jesteś zadowolony? Poproś o pełny zwrot pieniędzy w ciągu 30 dni od zakupu. Zobacz politykę zwrotów

Dostarczaj SSH i SFTP gotowe na erę postkwantową

Klienty i serwery w natywnym kodzie Delphi i .NET, z dołączonym środowiskiem uruchomieniowym i pełnym kodem źródłowym w zestawie. Pobierz instalator próbny All-Access i połącz się ze swoim pierwszym serwerem już dziś.

Inne produkty eSeGeCe

Połącz sgcSSH z naszymi pozostałymi bibliotekami komponentów dla Delphi, C++ Builder i .NET.

sgcWebSockets

Pełna biblioteka: klienty i serwery WebSocket, HTTP/2, IoT, P2P i komponenty AI. Jej edycja Enterprise zawiera również komponenty SSH i SFTP.

Dowiedz się więcej →

sgcCustomIndy

Własna biblioteka Indy, na której zbudowano sgcWebSockets Enterprise, spakowana jako dodatek. Wymagana przez komponenty SSH dla Delphi, zawsze wliczona w zamówienia sgcSSH.

Dowiedz się więcej →

sgcCrypto

Szyfry symetryczne i asymetryczne, haszowanie i algorytmy postkwantowe, takie jak ML-KEM i ML-DSA. Bezpłatnie w sgcWebSockets od edycji Standard wzwyż.

Dowiedz się więcej →

sgcAuth

Klienty OAuth2 i JWT, logowanie kluczem dostępu WebAuthn, TOTP, LDAP, SAML i OpenID Connect, z dołączonym środowiskiem Core.

Dowiedz się więcej →

sgcHTTP

Serwer HTTP, klienty HTTP/2 i gRPC oraz Google Cloud Pub/Sub, Calendar i Firebase Cloud Messaging, z dołączonym środowiskiem Core.

Dowiedz się więcej →

sgcMQ

Natywne komponenty klienckie MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka i STOMP, z dołączonym środowiskiem Core.

Dowiedz się więcej →