Nakikinig ang SSH forward sa lokal na port 13306, ngunit kumokonekta pa rin ang mysql sa lokal na database—o nag-uulat na wala ang lokal na socket nito. Sa Unix, ang MySQL client na binigyan ng localhost ay maaaring pumili ng Unix socket sa halip na TCP. Ang pagbibigay ng port ay hindi laging nagbabago ng pagpipiliang iyon.

Para sa umiiral na aprubadong TCP forward, gawing tahasan ang protocol:

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

Ang username ay panghalimbawa lamang; ang password na opsyon ay humihingi ng interaktibong input. Kumokonekta ang utos sa lokal na TCP listener sa halip na Unix socket.

Panatilihing hiwalay ang dalawang login

Ang isang nakapirming SSH ruta ay maaaring may ganitong hugis:

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

Naabot ng SSH server ng gateway ang db.internal:3306. Pagkatapos ay pinapatotohanan ng MySQL ang database account sa pamamagitan ng byte stream na iyon. Ang tinanggap na SSH key ay hindi nagbibigay ng login sa database, at nakikita ng mga paghihigpit sa pinagmulan ng database na dumarating ang koneksyon mula sa panig na iyon ng ruta.

Ito ay nakapirming TCP adapter, hindi SOCKS setting na ginagamit ng mysql. Hindi kailangan ng application ang SOCKS negotiation dahil may isang paunang tinukoy na target ang endpoint ng forward.

Panatilihin ang inilaan na TLS identity ng database at patakaran sa sertipiko kung saan ginagamit ang mga ito. Ang pagkonekta ng socket sa loopback ay hindi ginagawang wasto ang sertipiko ng database para sa ibang pangalan ng serbisyo. Ang matagumpay na lokal na TCP koneksyon ang nagpapasya sa pagpili ng transport, hindi ang mamaya pang pagpapatotoo sa database o mga pagsusuri sa TLS.

Kaugnay na mga artikulo