مسائل کا حل
یہ صفحہ Mobile SSH کے عام مسائل اور سرور-سائیڈ SSH ترتیبات بدلنے سے پہلے چلائی جانے والی پہلی جانچوں کا احاطہ کرتا ہے۔
جُڑ نہیں سکتے
جانچیں:
- آلے کے پاس نیٹ ورک رسائی ہے۔
- سرور کا ہوسٹ نام یا IP پتہ درست ہے۔
- SSH پورٹ درست ہے، عموماً
22۔ - کوئی فائر وال، VPN، کیریئر نیٹ ورک یا Wi-Fi نیٹ ورک پورٹ کو بلاک نہیں کر رہا۔
- SSH سرور چل رہا ہے اور آپ کے استعمال کردہ نیٹ ورک سے کنکشن قبول کرتا ہے۔
اگر وہی ہوسٹ کسی اور آلے سے کام کرے تو بالکل ہوسٹ، پورٹ، صارف نام، کلید اور نیٹ ورک راستہ موازنہ کریں۔
سرور شناخت پر توجہ درکار ہے
دونوں پلیٹ فارم اسناد بھیجنے سے پہلے SSH سرور شناخت جانچتے ہیں۔ iOS میں نئی ہوسٹ کلید کا فنگرپرنٹ منظور کر کے اعتماد اور دوبارہ رابطہ چنیں۔ Android کی ترتیبات ← عمومی ← حفاظت ← نئی SSH شناخت خود قبول کریں پہلے سے فعال ہے؛ پہلی خام کلید محفوظ ہوتی ہے، بعد کے رابطے اسی سے ملنے چاہییں۔ نئی شناخت خود جانچنے کے لیے اسے بند کریں۔
نئی یا بدلی کلید کا SHA-256 فنگرپرنٹ معتبر ذریعے سے منتظم کے ساتھ ملائیں۔ تبدیلی سرور بدلنے یا غیر متوقع سرور کی علامت ہو سکتی ہے؛ تصدیق سے پہلے پرانی شناخت حذف نہ کریں۔ محفوظ شناخت ترتیبات میں دیکھیں۔ متبادل پتے اور جمپ ہوسٹ تصدیق نہیں چھوڑتے۔
Android محدود ہوسٹ سرٹیفکیٹ حکام اور منسوخیاں بھی دیتا ہے۔ نامعلوم حکام، زائدالمیعاد یا غلط سرٹیفکیٹ اور منسوخ کلید پہلی خودکار منظوری کے باوجود رکتے ہیں۔ iOS میں ترتیبات ← سرور شناخت ← منسوخ کلید درآمد کریں محدود OpenSSH @revoked Ed25519/ECDSA قبول کرتا ہے۔ چسپاں متن میں غیر معاون اندراج ہو تو مکمل متن رد ہوتا ہے؛ CA، سرٹیفکیٹ، RSA اور ہیش شدہ ہوسٹ نام معاون نہیں۔ منسوخی نئے و دوبارہ رابطے میں سابق اعتماد سے مقدم ہے مگر موجودہ رابطہ بند نہیں کرتی۔ شناخت و منسوخیاں بیک اپ سے خارج ہیں۔ iOS شیئر توسیع سے پہلے نامعلوم سرور مرکزی ایپ میں جانچیں۔
جمپ ہوسٹ سے رابطہ نہیں ہوتا
ہر محفوظ درمیانی سرور کا پتہ اور اسناد دیکھیں، فون کو پہلا مرحلہ دستیاب ہونا چاہیے۔ اگلا میزبان پچھلے سے قابل رسائی ہو۔ درمیانی سرور اگلا TCP فارورڈ اور permitopen پابندیاں اجازت دیں۔ راستہ SSH، بغیر چکر اور پھیلانے کے بعد زیادہ سے زیادہ آٹھ مراحل ہو۔
حذف یا ناقابل حل درمیانی سرور کی جگہ براہ راست اتصال نہیں کیا جاتا۔ راستہ درست کر کے دوبارہ جڑیں۔ Android رابطے کی حالت اور لاگ ان ریکارڈ ناکام مرحلہ آخری سرور سے الگ دکھاتے ہیں۔
توثیق ناکام
جانچیں:
- صارف نام کی ہجے۔
- پاس ورڈ یا کلید پاس فریز۔
- آیا سرور پاس ورڈ لاگ اِن، کلید لاگ اِن، یا دونوں کی اجازت دیتا ہے۔
- آیا نجی کلید سرور صارف کے
authorized_keysمیں کسی عوامی کلید سے ملتی ہے۔ - آیا کلید فائل مکمل طور پر درآمد ہوئی، بشمول ہیڈر اور فوٹر سطریں۔
خفیہ کردہ نجی کلیدوں کے لیے، پاس ورڈ/پاس فریز خانے میں پاس فریز درج کریں۔
Android ریموٹ ssh یا git کے لیے محفوظ سرور میں SSH ایجنٹ فارورڈ کریں اور سرور کی اجازت ضروری ہے۔ صرف محفوظ قابل استعمال کلیدی اسناد پیش ہوتی ہیں۔ زیر التوا اجازت/انکار یا حفاظتی کلید سوال اس رابطے کا ٹرمینل، فائلیں اور سرنگیں 30 سیکنڈ تک روک سکتا ہے؛ ایپ یا اطلاع سے جواب دیں۔
نجی کلید درآمد ناکام
نجی کلید درآمد سسٹم فائل پکر استعمال کرتا ہے۔ اگر درآمد ناکام ہو:
- تصدیق کریں کہ منتخب فائل ایک نجی کلید ہے، عوامی
.pubفائل نہیں۔ - فائل کو قابلِ بھروسہ متنی ایڈیٹر میں کھولیں اور تصدیق کریں کہ اس میں مکمل کلید بلاک ہے۔
- کلید کو نجی کلید خانے میں دستی طور پر چسپاں کرنے کی کوشش کریں۔
- تصدیق کریں کہ کلید کی قسم معاون ہے: Android پر Ed25519، ECDSA (P-256/384/521) یا RSA؛ iOS پر Ed25519 یا ECDSA۔ DSA (
ssh-dss) کسی پر بھی نہیں چلتی، اور iOS پر RSA کی حمایت نہیں — اس کے بجائے Ed25519 کلید بنائیں۔
Android حفاظتی کلید جواب نہیں دیتی
Android، USB یا NFC پر CTAP2/FIDO2 ed25519-sk اور ecdsa-sk کی حمایت کرتا ہے۔ وہی جسمانی کلید استعمال کریں جس نے درآمد شدہ سند بنائی تھی۔ USB ہوسٹ معاونت اور اجازت چاہیے؛ NFC فعال رکھیں اور عمل مکمل ہونے تک کلید فون سے لگائے رکھیں۔ مطالبے پر PIN درج کر کے کلید چھوئیں۔
سرور کو OpenSSH 8.2 یا بعد اور منتخب sk-* الگورتھم کی اجازت چاہیے۔ صرف U2F کلید اور رہائشی اسناد کی دریافت معاون نہیں۔ کلید ڈھونڈتے وقت لاگ ان کی مدت ختم ہو سکتی ہے، پہلے تیار رکھیں۔ پس منظر درخواست پر حفاظتی کلید اطلاع کھولیں یا ایپ پر لوٹیں۔ iOS ہارڈویئر حفاظتی کلید شناخت نہیں دیتا۔
کی بورڈ ان پٹ میں تاخیر یا تبدیلی
Android ان پٹ براہ راست بھیجتا ہے اور درستی و پیش گوئی بند رکھتا ہے۔ iOS میں املا اور تجاویز پہلے سے فعال ہے، صوتی ان پٹ اور موجودہ سطر کی درستی ملتی ہے۔ شیل متن غیر متوقع بدلے تو اسے بند اور کی بورڈ تجاویز دیکھیں، پھر نئی ترتیب کے لیے نیا پین کھولیں۔
ESC، TAB، CTRL، تیر، HOME، END، PGUP اور PGDN کے لیے اضافی کلیدی قطار استعمال کریں۔ رکا نیٹ ورک بھی تاخیر کرتا ہے۔ Android عنوان جواب نہیں یا نہیں بھیجا دکھاتا ہے؛ دوبارہ رابطے کی ٹائپنگ چھوڑ دی جاتی ہے، نئے شیل میں نہیں دہرائی جاتی۔ اتصال کا انتظار کر کے پرامپٹ دیکھیں اور صرف ضروری متن دوبارہ لکھیں۔
tmux اسکرولنگ توقع کے مطابق نہیں
Mobile SSH ٹرمینل کی حالت کی بنیاد پر اسکرول رویہ بدلتا ہے۔ tmux یا دیگر متبادل-اسکرین پروگراموں میں، اسکرول اشارے مقامی تاریخ اسکرول کرنے کے بجائے tmux کاپی-موڈ کمانڈز بھیج سکتے ہیں۔ اگر tmux ماؤس موڈ فعال ہو تو ایپ ماؤس-وہیل ایسکیپ سلسلے بھیجتی ہے۔
اگر اسکرولنگ غلط محسوس ہو:
- ریموٹ سرور پر tmux ماؤس موڈ فعال یا غیر فعال کرنے کی کوشش کریں۔
- اضافی کلید قطار سے
PGUPاورPGDNاستعمال کریں۔ - گھنے آؤٹ پٹ کو اسکرول کرنے سے پہلے فل اسکرین کے لیے پین پر ڈبل ٹیپ کریں۔
- اگر ریموٹ ٹرمینل کا سائز پرانا لگے تو tmux سے علیحدہ ہو کر دوبارہ منسلک کریں۔
Android میں معیاری کاپی موڈ نشان نظر آئے تو نیچے تک اسکرول ایپ کے tmux کاپی موڈ سے نکالتا ہے۔ کسٹم یا تقسیم شدہ ترتیب میں نشان نہ ہو تو دستی خروج چاہیے۔ سیشن بدلتے وقت مینیجر کے سرور اور tmux ساکٹ کے ساتھ نام بھی جانچیں۔
اسکرین لاک کے بعد سیشن منقطع
Android پر، Mobile SSH منقطع ہونے کم کرنے کے لیے keepalive، فورگراؤنڈ سروس، ویک لاک، Wi-Fi لاک اور دوبارہ کنکشن کی کوششیں استعمال کرتا ہے۔ Android کی بیٹری پالیسیاں پھر بھی پس منظر کا کام روک سکتی ہیں۔
جانچیں:
- اگر آپ کا آلہ پس منظر ایپس کو جارحانہ انداز میں روکتا ہے تو Mobile SSH کے لیے بیٹری اصلاح غیر فعال کریں۔
- لمبے سیشنز کے دوران Wi-Fi یا موبائل ڈیٹا مستحکم رکھیں۔
- ان لاک کے بعد Mobile SSH دوبارہ کھولیں اور Active Sessions پر ٹیپ کریں۔
- اگر آپ چاہتے ہیں کہ ایپ کو سوائپ کر کے ہٹا دینے کے بعد بھی شیلز چلتے رہیں تو جانچیں کہ Settings میں Keep sessions running in background آن ہے۔
- اگر سرور نے SSH سیشن منقطع کر دیا تو ہوم اسکرین سے دوبارہ جُڑیں — Continue دکھاتی ہے کہ کیا اب بھی چل رہا ہے، اور Tmux sessions دکھاتی ہے کہ سرور پر کیا منتظر ہے۔
iOS پس منظر ایپ معطل کرتا ہے، اس لیے سوئچ یا اسکرین لاک کے بعد خام SSH ہمیشہ کھلا نہیں رہتا۔ مختصر مہلت تیز تبدیلی سنبھالتی ہے۔ رابطے پر منسلک ہوں میں tmux، Herdr یا Zellij چنیں، یا Eternal Terminal استعمال کریں تاکہ رابطے کے بعد کام جاری ہو۔ ملٹی پلیکسر سرور پر چلتا رہنا چاہیے؛ Eternal Terminal جمپ ہوسٹ راستہ نہیں لیتا۔
فائل منتقلی فون فائلیں براؤز نہیں کر سکتی
Mobile SSH، Android پر کوئی اسٹوریج اجازت نہیں مانگتی۔ اس کے بجائے مقامی پین صرف وہ ایک فولڈر دکھاتا ہے جس کی اجازت آپ سسٹم کے فولڈر پکر سے دیتے ہیں — اگر یہ خالی ہو تو Pick folder سے کوئی فولڈر چنیں۔ یہ اجازت برقرار رہتی ہے، اس لیے یہ ایک ہی بار کا مرحلہ ہے۔
اگر ریموٹ فائلیں لوڈ ہوں مگر مقامی نہ ہوں تو SSH کنکشن ٹھیک ہے اور بات صرف اتنی ہے کہ ابھی آپ نے کوئی فولڈر نہیں دیا۔
iOS مقامی پین ایپ دستاویزات سے شروع ہوتا ہے۔ میرا فون ← مقامی فولڈر منتخب کریں سے Files کا دوسرا فولڈر یاد رکھا جا سکتا ہے۔ فراہم کنندہ یا اجازت دستیاب نہ ہو تو دوبارہ چنیں یا ایپ فولڈر پر لوٹیں۔ ایپ ڈاؤن لوڈ میرے iPhone پر جبکہ بیرونی فائلیں اصل فراہم کنندہ کی جگہ رہتی ہیں۔ بیک اپ فولڈر اجازت منتقل نہیں کرتا۔
اپ لوڈ یا ڈاؤن لوڈ ناکام
جانچیں:
- SSH سیشن ابھی بھی جُڑا ہوا ہے۔
- ریموٹ ڈائریکٹری موجود ہے۔
- ریموٹ صارف کو راستہ پڑھنے یا لکھنے کی اجازت ہے۔
- مقامی منزل قابلِ تحریر ہے۔
- آلے پر کافی خالی جگہ ہے۔
- بڑی منتقلیوں کے لیے نیٹ ورک مستحکم ہے۔
پورٹ فارورڈ ناکام
جانچیں:
- مقامی پورٹ
1اور65535کے درمیان ہے۔ - مقامی پورٹ پہلے سے استعمال میں نہیں ہے۔
- ٹنل اسٹرنگ
PORTیاLOCAL:REMOTEHOST:REMOTEہے۔ - ریموٹ ہوسٹ اور ریموٹ پورٹ SSH سرور سے قابلِ رسائی ہیں۔
- SSH سرور TCP فارورڈنگ کی اجازت دیتا ہے۔
Android VPN یا پراکسی ٹریفک نہیں لے جاتی
- VPN سے مطلوبہ پروفائل شروع اور Android درخواست منظور کریں۔ آلہ VPN پچھلے کو بدلتا ہے؛ دوسری VPN برقرار رکھنی ہو تو مقامی SOCKS5 استعمال کریں۔
- SSH VPN میں محفوظ سرور، جمپ ہوسٹ، شناخت، TCP فارورڈ اجازت اور ایپ و ویب سائٹ انتخاب دیکھیں۔ SSH، TCP اور DNS لے جاتا ہے، عام UDP نہیں۔
- SOCKS5 کلائنٹ میں لوپ بیک پتہ، پورٹ، پاس ورڈ اور ریموٹ DNS دیں۔ چلتی پراکسی خود بخود ہر ایپ نہیں موڑتی۔
- WireGuard میں ہینڈ شیک، کلید،
AllowedIPsاور DNS دیکھیں۔ Shadowsocks میں سرور کا رمز/پاس ورڈ ملائیں اور DNS کے لیے UDP ریلے یقینی بنائیں۔ - OpenVPN میں معاون خودکفیل پروفائل، CA/سرور شناخت اور اسناد جانچیں، مکمل سرنگ کو VPN DNS دیں۔ شناخت یا سرٹیفکیٹ غلطی درست کر کے پروفائل بند اور دوبارہ شروع کریں۔
SSH VPN، Shadowsocks اور OpenVPN دوبارہ جڑتے وقت پکڑی ٹریفک بند رکھ سکتے ہیں تاکہ براہ راست اتصال نہ ہو۔ بند کرنے سے حفاظت ختم ہوتی ہے۔ VPN سرور کے فراہم کنندہ یا منتظم کی انٹرنیٹ پابندی نہیں ہٹاتا۔
بیک اپ نے سب کچھ بحال نہیں کیا
درآمد پیش منظر اور ضم یا بدلیں کا رویہ دیکھیں۔ پرانے یا جزوی بیک اپ میں غائب پورے حصے تبدیل نہیں ہوتے۔ مکمل بیک اپ معاون ترجیحات، اور Android میں VPN و پراکسی پروفائل بھی شامل کرتا ہے۔ ہر پلیٹ فارم مخصوص چیز iOS پر منتقل نہیں ہوتی؛ پرانی ایپس نئے مکمل بیک اپ کو رد کر سکتی ہیں۔
ہوسٹ شناخت، نظام اجازت اور منتخب فولڈر رسائی آلے تک محدود ہیں۔ نئے آلے پر ہوسٹ جانچیں اور فولڈر/VPN اجازت دیں۔ ہارڈویئر کلید کی اسناد کو جسمانی کلید اب بھی چاہیے۔ درآمد سے VPN شروع نہیں ہوتا؛ شروع کرنے سے پہلے بحال پروفائل دیکھیں۔
ریموٹ ڈیسک ٹاپ دستیاب نہیں یا سائز نہیں بدلتا
منسلک SSH سیشن سے ڈیسک ٹاپ کھولیں اور سرور کی مقامی TCP فارورڈ اجازت دیکھیں۔ Linux پر غائب پیکج پیغام کے مطابق ڈیسک ٹاپ/VNC نصب کریں۔ Android، Wayland کنسول کا عکس نہیں دکھا سکتا؛ معاون مجازی ڈیسک ٹاپ چنیں۔
macOS میں Mac کی ترتیبات سے اسکرین شیئرنگ فعال کریں۔ Android، Mac اکاؤنٹ شناخت دیتا ہے؛ iOS کو اسکرین شیئرنگ میں روایتی VNC پاس ورڈ رسائی چاہیے، اور Mac اکاؤنٹ کے بجائے اسکرین شیئرنگ پاس ورڈ استعمال ہوتا ہے۔ ناظر موجودہ Mac اسکرین دکھاتا ہے؛ ریزولیوشن شاید Mac پر بدلنا ہو۔ مجازی ڈیسک ٹاپ کا فوری سائز سرور معاونت مانگتا ہے؛ ایپ کے بنائے ڈیسک ٹاپ کو دوبارہ شروع کرنے کی تصدیق ضروری ہے اور اس کے پروگرام بند ہوں گے۔ ناظر چھوڑنے پر ریموٹ ڈیسک ٹاپ چلتا رہتا ہے۔
ڈیبگ لاگز
دونوں پلیٹ فارم مختلف چیزیں ریکارڈ کرتے ہیں، اس لیے وہی چنیں جو آپ کے مسئلے سے مطابقت رکھتا ہو۔
Android — ٹرمینل اور رینڈرنگ۔ Settings → Debugging → Show Debug and Logs buttons فعال کریں، پھر اسٹارٹ اسکرین پر ظاہر ہونے والا Debug بٹن استعمال کریں۔ یہ ٹرمینل واقعات، SSH ڈیٹا سائز، ٹچ ان پٹ، سائز تبدیلی کا رویہ اور ٹنل لائف سائیکل ریکارڈ کرتا ہے۔ ریکارڈنگ شروع کرنے پر یہ پہلے خبردار کرتا ہے کہ اس میں آپ کی ٹائپ کی ہوئی ہر کی محفوظ ہوتی ہے، پاس ورڈز سمیت۔ روکنے پر یہ ایک آرکائیو آپ کے Downloads فولڈر میں لکھ دیتا ہے۔
iOS — کنکشن اور دوبارہ جڑنا۔ Settings → Diagnostics → Record debug log آن کریں۔ یہ ہر ڈائل کیا گیا پتہ اور اس کی ناکامی کی وجہ، دوبارہ جڑنے کی کوششیں اور ان کا بیک آف، ٹوٹے ہوئے کنکشن، “peer stopped answering keepalives”، نیٹ ورک تبدیلیاں، اور tmux کمانڈز اور ان کی خرابیاں ریکارڈ کرتا ہے۔ Settings میں سطروں کی گنتی لائیو دکھائی جاتی ہے تاکہ آپ تصدیق کر سکیں کہ ریکارڈنگ چل رہی ہے، اور Export Debug Log اسے متنی فائل کے طور پر شیئر کرتا ہے۔ یہ میموری میں رکھا جاتا ہے اور صرف ایپ کے موجودہ سیشن کا احاطہ کرتا ہے۔
شیئر کرنے سے پہلے کسی بھی ڈیبگ لاگ یا آرکائیو کا جائزہ لیں۔ یہ مسائل کے حل کے لیے ہیں اور سرور کے نام، پتے، اوقات یا دیگر ماحول کی تفصیلات ظاہر کر سکتے ہیں — اور Android پر، وہ سب کچھ جو آپ نے ٹائپ کیا۔