समस्या निवारण
हे पृष्ठ 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 Share Extension पूर्वी अनोळखी सर्व्हर मुख्य ॲपमध्ये तपासा.
जंप होस्टमधून जोडता येत नाही
प्रत्येक बॅस्टियनचा पत्ता व ओळख तपासा; फोन पहिल्या टप्प्यावर पोहोचावा. पुढील होस्ट मागील सर्व्हरवरून उपलब्ध हवा. permitopen सह TCP फॉरवर्ड परवानगी आवश्यक. मार्ग 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 स्थानिक पेन ॲपच्या Documents मधून सुरू होतो. माझा फोन → स्थानिक फोल्डर निवडा दुसरा 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 कन्सोल मिरर करत नाही; समर्थित आभासी डेस्कटॉप वापरा.
Mac सेटिंग्जमध्ये Screen Sharing सुरू करा. Android Mac खात्याचे प्रमाणीकरण स्वीकारते; iOS साठी Screen Sharing मध्ये पारंपरिक 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 वर तुम्ही टाइप केलेले काहीही — उघड करू शकतात.