Lo MySQL dén weidergeleet TCP-Port benotzen
Vermeit d'Auswiel vun engem lokalen Unix-Socket, wann e MySQL-Client iwwer eng SSH-TCP-Weiderleitung soll verbinden.
D'SSH-Weiderleitung lauschtert um lokale Port 13306, awer mysql verbënnt sech nach ëmmer mat der lokaler Datebank—oder mellt, datt säi lokale Socket feelt. Op Unix kann e MySQL-Client, deem localhost gëtt, e Unix-Socket amplaz TCP auswielen. E Port unzeginn ännert déi Wiel net onbedéngt.
Fir eng bestoend genehmegt TCP-Weiderleitung, maach de Protokoll explizit:
mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
--user=dbuser --password
De Benotzernumm ass illustrativ; d'Passwuertoptioun freet eng interaktiv Agab un. De Befehl verbënnt sech mam lokalen TCP-Listener amplaz vun engem Unix-Socket.
Hal déi zwou Umellungen getrennt
Eng fest SSH-Route kann dës Form hunn:
ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]
Den SSH-Server vum Gateway erreecht db.internal:3306. Duerno authentifizéiert MySQL de Datebankkont iwwer dee Byte-Stroum. En akzeptéierte SSH-Schlëssel gëtt keng Datebank-Umellung, a Quellrestriktioune vun der Datebank gesinn d'Verbindung vun där Säit vun der Route kommen.
Dëst ass en festen TCP-Adapter, net eng SOCKS-Astellung déi mysql verbraucht. D'Applikatioun brauch keng SOCKS-Verhandlung, well den Endpunkt vun der Weiderleitung en eenzelt virbestëmmt Zil huet.
Behäl déi virgesinn TLS-Identitéit vun der Datebank an d'Zertifikatspolitik do, wou se benotzt ginn. De Socket mat Loopback verbannen mécht en Datebankzertifikat net gülteg fir en aneren Déngschtnumm. Eng erfollegräich lokal TCP-Verbindung entscheet d'Wiel vum Transport, net déi spéider Datebank-Authentifizéierung oder TLS-Prüfungen.