Double SSH tunelling

kvas

Double SSH tunelling
« kdy: 21. 04. 2020, 14:02:15 »
Ahoj,

poradili by ste mi prosim s tymto?

mam desktop D a server S, na serveri bezi databaza nabindovana na localhost only a ja sa chcem s desktopu D pripojit na databazu na serveri S.

Robievam som to tak, ze som na serveri vytvoril lokalny tunel z localhost:3306 (mysql) na public_ip:5678 (whatever)  a potom som si vytvoril 2. tunel z desktopu (localhost:1234) na server (public_ip:5678) koli tomu aby connection do DB bolo sifrovane a nasledne sa pripojil do databazy (na 1234) z desktopu. po praci som tunel zrusil.

Je mozne takyto "dvojity SSH tunel" urobit jednorazovo (jednym prikazom/scriptom), t.j podporuje to SSH? Ak  nie, tak by mi aspon pomohlo to, ako nakonfigurovat SSH aby sa na ten serverovy port 5678 mohol pripojit iba konkretny jeden klient, teda moj desktop.



Re:Double SSH tunelling
« Odpověď #1 kdy: 21. 04. 2020, 14:27:35 »
OpenSSH příkaz ssh na to má parametr -J. Případně někteří databázoví klienti (třeba DBeaver nebo DataGrip) umí spojení k databázi tunelovat skrz SSH spojení.

Mimochodem, ve vašem případě je zbytečné vytvářet dva tunely – nemusíte dělat tunel na serveru z localhostu na veřejnou IP adresu. Normálně si v SSH udělejte tunel, který bude na desktopu naslouchat na portu 3306 a komunikaci přeposílat SSH tunelem na server na localhost:3306:

Kód: [Vybrat]
ssh -L 3306:localhost_3306 -N
« Poslední změna: 21. 04. 2020, 14:33:50 od Filip Jirsák »

kvas

Re:Double SSH tunelling
« Odpověď #2 kdy: 21. 04. 2020, 15:26:35 »
skvele, nieco presne taketo som hladal - netusil som, ze ten "server only" tunel nie je nutny.

velmi pekne dakujem.

Re:Double SSH tunelling
« Odpověď #3 kdy: 21. 04. 2020, 16:56:37 »
VýživNapěchovaný článek o využití nc:
https://miloserdov.org/?p=2826
v dolní polovině se píše o příkladu s SQL (keyword 3306