مسئلہ حل
یہ صفحہ Mobile SSH کے عام مسائل اور سرور-سائیڈ SSH ترتیبات بدلنے سے پہلے چلائی جانے والی پہلی جانچوں کا احاطہ کرتا ہے۔
جُڑ نہیں سکتے
جانچیں:
- آلے کے پاس نیٹ ورک رسائی ہے۔
- سرور کا ہوسٹ نام یا IP پتہ درست ہے۔
- SSH پورٹ درست ہے، عموماً
22۔ - کوئی فائر وال، VPN، کیریئر نیٹ ورک یا Wi-Fi نیٹ ورک پورٹ کو بلاک نہیں کر رہا۔
- SSH سرور چل رہا ہے اور آپ کے استعمال کردہ نیٹ ورک سے کنکشن قبول کرتا ہے۔
اگر وہی ہوسٹ کسی اور آلے سے کام کرے تو بالکل ہوسٹ، پورٹ، صارف نام، کلید اور نیٹ ورک راستہ موازنہ کریں۔
توثیق ناکام
جانچیں:
- صارف نام کی ہجے۔
- پاس ورڈ یا کلید پاس فریز۔
- آیا سرور پاس ورڈ لاگ اِن، کلید لاگ اِن، یا دونوں کی اجازت دیتا ہے۔
- آیا نجی کلید سرور صارف کے
authorized_keysمیں کسی عوامی کلید سے ملتی ہے۔ - آیا کلید فائل مکمل طور پر درآمد ہوئی، بشمول ہیڈر اور فوٹر سطریں۔
مخفی کردہ نجی کلیدوں کے لیے، پاس ورڈ/پاس فریز خانے میں پاس فریز درج کریں۔
نجی کلید درآمد ناکام
نجی کلید درآمد سسٹم فائل پکر استعمال کرتا ہے۔ اگر درآمد ناکام ہو:
- تصدیق کریں کہ منتخب فائل ایک نجی کلید ہے، عوامی
.pubفائل نہیں۔ - فائل کو قابلِ بھروسہ متنی ایڈیٹر میں کھولیں اور تصدیق کریں کہ اس میں مکمل کلید بلاک ہے۔
- کلید کو نجی کلید خانے میں دستی طور پر چسپاں کرنے کی کوشش کریں۔
- تصدیق کریں کہ کلید کی قسم معاون ہے: Android پر Ed25519، ECDSA (P-256/384/521) یا RSA؛ iOS پر Ed25519 یا ECDSA۔ DSA (
ssh-dss) کسی پر بھی نہیں چلتی، اور iOS پر RSA کی حمایت نہیں — اس کے بجائے Ed25519 کلید بنائیں۔
کی بورڈ ان پٹ میں تاخیر یا تبدیلی
Mobile SSH کی اسٹروکس کو خودکار درستی اور پیش گو تجاویز بند کر کے سیدھا شیل تک بھیجتا ہے، اس لیے کی بورڈ کو متن کو دور دراز سائیڈ تک پہنچنے سے پہلے دوبارہ نہیں لکھنا چاہیے (غیر فعال کرنے کے لیے کوئی تجاویز ترتیب نہیں ہے)۔ اگر آپ کا کی بورڈ پھر بھی ان پٹ بدلتا ہے تو تصدیق کریں کہ کوئی سسٹم-سطح کا متبادل یا کلپ بورڈ ٹول اسے نہیں روک رہا، اور ESC، TAB، CTRL، تیر، HOME، END، PGUP اور PGDN جیسی ٹرمینل کلیدوں کے لیے اضافی کلید قطار استعمال کریں۔
tmux اسکرولنگ توقع کے مطابق نہیں
Mobile SSH ٹرمینل کی حالت کی بنیاد پر اسکرول رویہ بدلتا ہے۔ tmux یا دیگر متبادل-اسکرین پروگراموں میں، اسکرول اشارے مقامی تاریخ اسکرول کرنے کے بجائے tmux کاپی-موڈ کمانڈز بھیج سکتے ہیں۔ اگر tmux ماؤس موڈ فعال ہو تو ایپ ماؤس-وہیل ایسکیپ سلسلے بھیجتی ہے۔
اگر اسکرولنگ غلط محسوس ہو:
- دور دراز سرور پر tmux ماؤس موڈ فعال یا غیر فعال کرنے کی کوشش کریں۔
- اضافی کلید قطار سے
PGUPاورPGDNاستعمال کریں۔ - گھنے آؤٹ پٹ کو اسکرول کرنے سے پہلے فل اسکرین کے لیے پین پر ڈبل ٹیپ کریں۔
- اگر دور دراز ٹرمینل کا سائز پرانا لگے تو 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 کنکشن غیر معینہ مدت تک کھلا نہیں رکھا جا سکتا۔ ایک مختصر رعایتی مدت تیز ایپ سوئچز کا احاطہ کرتی ہے؛ اس سے زیادہ دیر کے لیے سرور پروفائل پر Auto-attach tmux session فعال کریں (یا Eternal Terminal ٹرانسپورٹ استعمال کریں) تاکہ دوبارہ جُڑنے پر آپ اسی شیل میں واپس پہنچ جائیں جہاں آپ نے چھوڑا تھا۔
فائل منتقلی فون فائلیں براؤز نہیں کر سکتی
Mobile SSH، Android پر کوئی اسٹوریج اجازت نہیں مانگتی۔ اس کے بجائے مقامی پین صرف وہ ایک فولڈر دکھاتا ہے جس کی اجازت آپ سسٹم کے فولڈر پکر سے دیتے ہیں — اگر یہ خالی ہو تو Pick folder سے کوئی فولڈر چنیں۔ یہ اجازت برقرار رہتی ہے، اس لیے یہ ایک ہی بار کا مرحلہ ہے۔
اگر دور دراز فائلیں لوڈ ہوں مگر مقامی نہ ہوں تو SSH کنکشن ٹھیک ہے اور بات صرف اتنی ہے کہ ابھی آپ نے کوئی فولڈر نہیں دیا۔
iOS پر مقامی پین ایپ کا دستاویزات کا علاقہ دکھاتا ہے، اور آپ سسٹم کے دستاویز اور تصویر پکرز کے ذریعے فائلیں شامل کرتے ہیں۔ وہاں کے ڈاؤن لوڈز Files ایپ میں On My iPhone کے تحت بھی نظر آتے ہیں۔
اپ لوڈ یا ڈاؤن لوڈ ناکام
جانچیں:
- SSH سیشن ابھی بھی جُڑا ہوا ہے۔
- دور دراز ڈائریکٹری موجود ہے۔
- دور دراز صارف کو راستہ پڑھنے یا لکھنے کی اجازت ہے۔
- مقامی منزل قابلِ تحریر ہے۔
- آلے پر کافی خالی جگہ ہے۔
- بڑی منتقلیوں کے لیے نیٹ ورک مستحکم ہے۔
پورٹ فارورڈ ناکام
جانچیں:
- مقامی پورٹ
1اور65535کے درمیان ہے۔ - مقامی پورٹ پہلے سے استعمال میں نہیں ہے۔
- ٹنل اسٹرنگ
PORTیاLOCAL:REMOTEHOST:REMOTEہے۔ - دور دراز ہوسٹ اور دور دراز پورٹ SSH سرور سے قابلِ رسائی ہیں۔
- SSH سرور TCP فارورڈنگ کی اجازت دیتا ہے۔
ڈیبگ لاگز
دونوں پلیٹ فارم مختلف چیزیں ریکارڈ کرتے ہیں، اس لیے وہی چنیں جو آپ کے مسئلے سے مطابقت رکھتا ہو۔
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 پر، وہ سب کچھ جو آپ نے ٹائپ کیا۔