SSH yo'naltirishi mahalliy 13306 portda tinglaydi, lekin mysql hali ham mahalliy ma'lumotlar bazasiga ulanadi—yoki uning mahalliy soketi yo'qligini bildiradi. Unix da localhost berilgan MySQL mijozi TCP o'rniga Unix soketini tanlashi mumkin. Port berish bu tanlovni albatta o'zgartirmaydi.

Mavjud tasdiqlangan TCP yo'naltirishi uchun protokolni aniq qiling:

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

Foydalanuvchi nomi faqat misol; parol opsiyasi interaktiv kiritishni talab qiladi. Buyruq Unix soketi o'rniga mahalliy TCP tinglovchisiga ulanadi.

Ikkita kirishni alohida saqlang

Qat'iy SSH marshruti shunday shaklga ega bo'lishi mumkin:

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

Shlyuzning SSH serveri db.internal:3306 ga yetadi. Keyin MySQL ma'lumotlar bazasi hisobini shu bayt oqimi orqali autentifikatsiya qiladi. Qabul qilingan SSH kaliti ma'lumotlar bazasiga kirish bermaydi va ma'lumotlar bazasining manba cheklovlari ulanish marshrutning o'sha tomonidan kelayotganini ko'radi.

Bu qat'iy TCP adapteri, mysql iste'mol qiladigan SOCKS sozlamasi emas. Dastur SOCKS muzokaralariga muhtoj emas, chunki yo'naltirishning so'nggi nuqtasi bitta oldindan belgilangan maqsadga ega.

Ishlatiladigan joylarda ma'lumotlar bazasining mo'ljallangan TLS identifikatsiyasi va sertifikat siyosatini saqlang. Soketni loopback ga ulash ma'lumotlar bazasi sertifikatini boshqa xizmat nomi uchun haqiqiy qilmaydi. Muvaffaqiyatli mahalliy TCP ulanishi transport tanlovini hal qiladi, keyingi ma'lumotlar bazasi autentifikatsiyasi yoki TLS tekshiruvlarini emas.

O'xshash maqolalar