SSH-edastus kuulab kohalikul pordil 13306, kuid mysql ühendub endiselt kohaliku andmebaasiga—või teatab, et selle kohalik soket puudub. Unixis võib MySQL klient, kellele antakse localhost, valida TCP asemel Unix-soketi. Pordi andmine ei pruugi seda valikut muuta.

Olemasoleva kinnitatud TCP-edastuse jaoks tehke protokoll selgesõnaliseks:

mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
  --user=dbuser --password

Kasutajanimi on illustratiivne; parooli valik küsib interaktiivset sisestust. Käsk ühendub kohaliku TCP-kuulajaga, mitte Unix-soketiga.

Hoidke kaks sisselogimist eraldi

Fikseeritud SSH-marsruut võib olla sellise kujuga:

ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]

Lüüsi SSH-server jõuab aadressile db.internal:3306. Seejärel autendib MySQL andmebaasi konto selle baidivoo kaudu. Vastuvõetud SSH-võti ei anna andmebaasi sisselogimist ning andmebaasi allikapiirangud näevad ühendust saabuvat marsruudi sellelt küljelt.

See on fikseeritud TCP-adapter, mitte mysql-i tarbitav SOCKS-seade. Rakendus ei vaja SOCKS-läbirääkimisi, sest edastuse lõpp-punktil on üks eelmääratud sihtmärk.

Säilitage kavandatud andmebaasi TLS-identiteet ja sertifikaadipoliitika seal, kus neid kasutatakse. Soketi ühendamine loopbackiga ei muuda andmebaasi sertifikaati kehtivaks teise teenusenime jaoks. Edukas kohalik TCP-ühendus otsustab transpordi valiku, mitte hilisema andmebaasi autentimise ega TLS-kontrollid.

Seotud artiklid