Die SSH-deurgee luister op plaaslike poort 13306, maar mysql verbind steeds met die plaaslike databasis—of meld dat sy plaaslike socket ontbreek. Op Unix kan 'n MySQL-kliënt wat localhost kry, 'n Unix-socket eerder as TCP kies. Die verskaffing van 'n poort verander nie noodwendig daardie keuse nie.

Vir 'n bestaande goedgekeurde TCP-deurgee, maak die protokol eksplisiet:

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

Die gebruikersnaam is illustratief; die wagwoord-opsie versoek 'n interaktiewe opdrag. Die opdrag verbind met die plaaslike TCP-luisteraar in plaas van 'n Unix-socket.

Hou die twee aanmeldings apart

'n Vaste SSH-roete kan hierdie vorm hê:

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

Die gateway se SSH-bediener bereik db.internal:3306. MySQL verifieer dan die databasisrekening deur daardie greepstroom. 'n Aanvaarde SSH-sleutel verleen nie 'n databasis-aanmelding nie, en databasisbronbeperkings sien die verbinding vanaf daardie kant van die roete aankom.

Dit is 'n vaste TCP-adapter, nie 'n SOCKS-instelling wat deur mysql verbruik word nie. Die toepassing het geen SOCKS-onderhandeling nodig nie, want die deurgee-eindpunt het een voorafbepaalde teiken.

Behou die beoogde databasis-TLS-identiteit en sertifikaatbeleid waar dit gebruik word. Om die socket aan loopback te koppel maak nie 'n databasis-sertifikaat geldig vir 'n ander diensnaam nie. 'n Suksesvolle plaaslike TCP-verbinding beslis die vervoerkeuse, nie die latere databasis-verifikasie of TLS-kontroles nie.

Verwante artikels