MySQL-ті қайта бағытталған TCP портын қолдануға мәжбүрлеу
MySQL клиенті SSH TCP қайта бағыттауы арқылы қосылуы керек болғанда жергілікті Unix socket таңдаудан аулақ болыңыз.
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 тексерулерін емес.