Prisilite MySQL, da uporablja posredovana vrata TCP
Izogibajte se izbiri lokalnega vtičnice Unix, ko naj bi se odjemalec MySQL povezal prek posredovanja SSH TCP.
Posredovanje SSH posluša na lokalnih vratih 13306, vendar se mysql še vedno povezuje z lokalno bazo podatkov—ali poroča, da njegova lokalna vtičnica manjka. V Unixu lahko odjemalec MySQL, ki mu je dodeljen localhost, izbere vtičnico Unix namesto TCP. Navedba vrat te izbire ne spremeni nujno.
Za obstoječe odobreno posredovanje TCP naredite protokol ekspliciten:
mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
--user=dbuser --password
Uporabniško ime je samo ponazoritev; možnost gesla zahteva interaktivni vnos. Ukaz se poveže z lokalnim poslušalcem TCP namesto z vtičnico Unix.
Dve prijavi imejte ločeni
Fiksna pot SSH ima lahko to obliko:
ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]
Strežnik SSH prehoda doseže db.internal:3306. Nato MySQL overi račun baze podatkov prek tega bajtnega toka. Sprejeti ključ SSH ne omogoča prijave v bazo podatkov, omejitve vira baze podatkov pa vidijo povezavo, ki prihaja s tiste strani poti.
To je fiksni vmesnik TCP, ne nastavitev SOCKS, ki bi jo uporabljal mysql. Aplikacija ne potrebuje pogajanj SOCKS, ker ima končna točka posredovanja en cilj, določen vnaprej.
Ohranite predvideno identiteto TLS baze podatkov in pravilnik o potrdilih tam, kjer se uporabljata. Povezava vtičnice z loopback ne naredi potrdila baze podatkov veljavnega za drugo ime storitve. Uspešna lokalna povezava TCP odloči o izbiri prevoza, ne pa o poznejši overitvi baze podatkov ali preverjanjih TLS.