Kényszerítse a MySQL-t a továbbított TCP-port használatára
Kerülje a helyi Unix socket kiválasztását, amikor egy MySQL kliensnek SSH TCP-továbbításon keresztül kell kapcsolódnia.
Az SSH-továbbítás a helyi 13306-os porton figyel, de a mysql továbbra is a helyi adatbázishoz kapcsolódik—vagy jelzi, hogy hiányzik a helyi socketje. Unixon egy localhostot kapó MySQL kliens Unix socketet választhat TCP helyett. A port megadása nem feltétlenül változtat ezen a választáson.
Egy meglévő jóváhagyott TCP-továbbítás esetén tegye egyértelművé a protokollt:
mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
--user=dbuser --password
A felhasználónév csak szemléltetés; a jelszó opció interaktív bevitelt kér. A parancs a helyi TCP-figyelőhöz kapcsolódik Unix socket helyett.
Tartsa külön a két bejelentkezést
Egy rögzített SSH-útvonal ilyen alakú lehet:
ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]
Az átjáró SSH-kiszolgálója eléri a db.internal:3306 címet. Ezután a MySQL azon a bájtfolyamon keresztül hitelesíti az adatbázisfiókot. Az elfogadott SSH-kulcs nem ad adatbázis-bejelentkezést, és az adatbázis forráskorlátozásai azt látják, hogy a kapcsolat az útvonal azon oldaláról érkezik.
Ez egy rögzített TCP-adapter, nem a mysql által használt SOCKS-beállítás. Az alkalmazásnak nincs szüksége SOCKS-tárgyalásra, mert a továbbítás végpontjának egy előre meghatározott célja van.
Őrizze meg az adatbázis szándékolt TLS-identitását és tanúsítványpolitikáját ott, ahol használják. A socket loopbackhez kapcsolása nem teszi érvényessé az adatbázis-tanúsítványt egy másik szolgáltatásnévhez. Egy sikeres helyi TCP-kapcsolat eldönti a szállítási választást, nem a későbbi adatbázis-hitelesítést vagy a TLS-ellenőrzéseket.