SSH فارورڈنگ مقامی پورٹ 13306 پر سنتی ہے، لیکن mysql پھر بھی مقامی ڈیٹا بیس سے جڑتا ہے—یا بتاتا ہے کہ اس کا مقامی ساکٹ موجود نہیں۔ Unix پر localhost دیا گیا MySQL کلائنٹ TCP کے بجائے Unix ساکٹ منتخب کر سکتا ہے۔ پورٹ دینا لازماً اس انتخاب کو نہیں بدلتا۔

موجودہ منظور شدہ TCP فارورڈ کے لیے پروٹوکول واضح کریں:

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

صارف کا نام صرف مثال ہے؛ پاس ورڈ کا اختیار متعامل اندراج طلب کرتا ہے۔ کمانڈ Unix ساکٹ کے بجائے مقامی 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 شناخت اور سرٹیفکیٹ پالیسی برقرار رکھیں۔ ساکٹ کو loopback سے جوڑنا ڈیٹا بیس سرٹیفکیٹ کو کسی دوسرے سروس نام کے لیے درست نہیں بناتا۔ کامیاب مقامی TCP کنکشن نقل و حمل کے انتخاب کا فیصلہ کرتا ہے، بعد کی ڈیٹا بیس توثیق یا TLS جانچوں کا نہیں۔

متعلقہ مضامین