SSH дамжуулалт локал 13306 порт дээр сонсож байгаа ч mysql локал өгөгдлийн сантай холбогдсоор байна—эсвэл локал socket байхгүй гэж мэдээлнэ. Unix дээр localhost өгсөн MySQL клиент TCP-ийн оронд Unix socket сонгож болно. Порт өгөх нь тэр сонголтыг заавал өөрчлөхгүй.

Одоо байгаа зөвшөөрөгдсөн TCP дамжуулалтын хувьд протоколыг тодорхой болго:

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

Хэрэглэгчийн нэр зөвхөн жишээ; нууц үгийн сонголт интерактив оруулга шаардана. Команд Unix socket-ийн оронд локал TCP сонсогчид холбогдоно.

Хоёр нэвтрэлтийг тусад нь байлга

Тогтмол SSH маршрут ийм хэлбэртэй байж болно:

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

Гарцын SSH сервер db.internal:3306-д хүрнэ. Дараа нь MySQL тэр байт урсгалаар өгөгдлийн сангийн бүртгэлийг баталгаажуулна. Хүлээн авсан SSH түлхүүр нь өгөгдлийн санд нэвтрэх эрх өгөхгүй бөгөөд өгөгдлийн сангийн эх үүсвэрийн хязгаарлалт холболтыг маршрутын тэр талаас ирж байгааг харна.

Энэ нь тогтмол TCP адаптер бөгөөд mysql-ийн хэрэглэдэг SOCKS тохиргоо биш. Дамжуулалтын төгсгөлийн цэг нэг урьдчилан тодорхойлсон зорилготой тул програмд SOCKS хэлэлцээр шаардлагагүй.

Хэрэглэгдэх газарт өгөгдлийн сангийн зориулсан TLS таних тэмдэг болон гэрчилгээний бодлогыг хадгал. Socket-ийг loopback-т холбох нь өгөгдлийн сангийн гэрчилгээг өөр үйлчилгээний нэрэнд хүчинтэй болгохгүй. Амжилттай локал TCP холболт нь тээврийн сонголтыг шийднэ, дараагийн өгөгдлийн сангийн баталгаажуулалт эсвэл TLS шалгалтыг биш.

Холбоотой нийтлэлүүд