Zestawienie tunelu SSH jest skutecznym rozwiązaniem na przykład w sytuacji, gdy chcemy zalogować się do zdalnej bazy danych w sposób bezpieczny. Dzięki zestawieniu tunelu SSH zdalną usługę możemy wystawić na swoim porcie lokalnym swojego komputera.
Podane poradniki zakładają, że na serwerze jest już skonfigurowana autoryzacja po kluczu przez SSH.
Jak zestawić tunel SSH w systemie Windowsie
- Pobieramy aplikację putty.exe i uruchamiamy. W oknie, które się pojawi po lewej stronie rozwijamy Connection > SSH i wybieramy "Tunnels"
- W sekcji "Add new forwarded ports" wpisujemy w polach:
- Source port - numer lokalnego portu, jaki chcemy użyć (w przykładzie będzie to 3336),
- Destination - podajemy 127.0.0.1:PORTUSŁUGI (w przykładzie będzie to 3306),
- Klikamy guzik "Add".
- Następnie po lewej stronie ponownie rozwijamy Connection > SSH i wybieramy "Auth".
W sekcji "Private key file for authentication" wskazujemy ścieżkę do naszego klucz prywatnego. - Następnie po lewej stronie ponownie rozwijamy Connection wybieramy "Data".
W sekcji Login Details uzupełnimy pole "Auto-login username" nazwą użytkownika SSH, do którego będziemy się łączyć. - Następnie po lewej stronie wybieramy "Sessions".
Uzupełniamy odpowiednio pola:- Host name - podajmy adres IP serwera zdalnego lub domenę, która jest skierowana na niego,
- Port - podajmey numer portu, pod jakim działa SSH - domyślnie jest to 22, ale jeżeli jest to serwer z naszą administracją będzie to port 7324,
- Saved Sessions - podajemy nazwę sesji.
- Klikamy "Save" aby zapisać sesję na przyszłość.
- Klikamy "Open" aby otworzyć sesję i zestawić tunel SSH.
W oknie jakie się pojawi z konsolą zalecamy uruchomienia polecenia top
, aby nie zerwało zestawionej sesji. Aby wyjść z topa wciskamy klawisz q.
Jak zestawić tunel SSH w systemie MacOS/Linux
- Otwieramy terminal i następnie wpisujemy polecenie:
ssh -N -L PortLokalny:127.0.0.1:PortUsługi -p 7324 MójLogin@ZdalnyHost
gdzie:- PortLokalny - numer lokalnego portu, jaki chcemy użyć (w przykładzie będzie to 3336),
- PortUsługi - port usługi na którym nasłuchuje (w przykładzie będzie to 3306),
- SSHPort - port na którym działa SSH na hoście zdalnym,
- MójLogin - mój login SSH,
- ZdalnyHost - IP lub domena zdalnego hosta do którego będę się łączył.
- W celu sprawdzenia czy tunel SSH działa, otwieramy nowe okno z terminalem i wpisujemy:
mysql -h 127.0.0.1 --port=3336 -u UżytkownikBazydanych -p NazwaBazydanych
gdzie:- UżytkownikBazydanych - nazwa użytkownika, którą wykorzystam do połączenia,
- NazwaBazydanych - nazwa bazy danych, do której chce się podłączyć.