| Termin | Definicja |
|---|---|
| SQL Server przez tunel SSH | Połączenie przez tunel SSH przekierowuje ruch bazodanowy przez szyfrowany kanał między klientem a serwerem. Jak tunel SSH przekazuje połączenie do SQL ServerTunel SSH tworzy zaszyfrowane połączenie pomiędzy klientem SSH a hostem pośredniczącym lub bezpośrednio serwerem, na którym działa SQL Server. W typowym wariancie używa się lokalnego przekierowania portu. Klient otwiera lokalny port, na przykład 11433, a każdą sesję TCP przyjętą na tym porcie przekazuje przez połączenie SSH do wskazanego adresu i portu po stronie serwera. Przykładowa składnia wygląda następująco: Aplikacja kliencka SQL Server, na przykład sqlcmd, SQL Server Management Studio albo program korzystający z Microsoft.Data.SqlClient, łączy się wtedy z adresem Port instancji, SQL Browser i zakres przekierowaniaDomyślna instancja SQL Server często nasłuchuje na porcie TCP 1433, ale numer ten nie jest gwarantowany dla każdej instalacji. Instancja nazwana może korzystać z określonego portu statycznego albo z portu dynamicznego. Numer używanego portu można sprawdzić w SQL Server Configuration Manager, w konfiguracji protokołu TCP/IP dla danej instancji, a także w dzienniku błędów SQL Server. Tunel SSH musi wskazywać rzeczywisty port instancji, a nie automatycznie zakładać port 1433. Przy połączeniach do nazwanej instancji format Szyfrowanie SSH a szyfrowanie sesji SQL ServerSSH szyfruje transport pomiędzy klientem SSH a hostem kończącym tunel. Chroni to dane przed odczytem na odcinku objętym sesją SSH, ale nie zastępuje konfiguracji zabezpieczeń samego SQL Server. Jeżeli tunel kończy się na serwerze SQL albo na zaufanym hoście w tej samej sieci, dalszy odcinek od hosta SSH do SQL Server może być osobnym połączeniem TCP. W przypadku przekierowania do SQL Server może dodatkowo używać TLS dla protokołu TDS. Ustawienia klienta takie jak Weryfikacja tunelu i typowe przyczyny nieudanego logowaniaNajpierw trzeba potwierdzić, że lokalny port został otwarty przez klienta SSH i nie jest zajęty przez inny proces. Następnie można sprawdzić dostępność portu z komputera użytkownika, na przykład poleceniem PowerShell Jeżeli tunel działa, ale klient SQL Server nie może się zalogować, należy osobno sprawdzić uwierzytelnianie Windows lub SQL Server, format nazwy użytkownika, dostępność wskazanej bazy oraz reguły logowania na instancji. Błąd TLS może wynikać z certyfikatu, nazwy serwera albo ustawienia szyfrowania, mimo że sam tunel SSH jest aktywny. Przy zrywaniu sesji warto uruchomić SSH z diagnostyką |