SSH forward naslouchá na místním portu 13306, ale mysql se stále připojuje k místní databázi—nebo hlásí, že jeho místní socket chybí. Na Unixu může klient MySQL, kterému je zadán localhost, zvolit Unix socket místo TCP. Zadání portu tuto volbu nutně nemění.

U existujícího schváleného TCP forwardu udělejte protokol explicitním:

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

Uživatelské jméno je ilustrativní; volba hesla vyžádá interaktivní vstup. Příkaz se připojí k místnímu TCP listeneru místo Unix socketu.

Držte oba přihlašovací procesy oddělené

Pevná SSH trasa může mít tento tvar:

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

SSH server brány dosáhne db.internal:3306. MySQL poté ověří účet databáze přes tento bajtový tok. Přijatý SSH klíč neposkytuje přihlášení k databázi a omezení zdroje databáze vidí připojení přicházející z této strany trasy.

Toto je pevný TCP adaptér, nikoli nastavení SOCKS spotřebovávané mysql. Aplikace nepotřebuje vyjednávání SOCKS, protože koncový bod forwardu má jeden předem definovaný cíl.

Zachovejte zamýšlenou identitu TLS databáze a zásady certifikátů tam, kde se používají. Připojení socketu ke loopbacku nečiní certifikát databáze platným pro jiný název služby. Úspěšné místní TCP spojení rozhoduje o volbě transportu, nikoli o pozdější autentizaci databáze či kontrolách TLS.

Související články