Fórum Root.cz
Hlavní témata => Server => Téma založeno: kvas 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.
-
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:
ssh -L 3306:localhost_3306 -N
-
skvele, nieco presne taketo som hladal - netusil som, ze ten "server only" tunel nie je nutny.
velmi pekne dakujem.
-
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