సమస్య పరిష్కారం
ఈ పేజీ 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 host మద్దతు/అనుమతి అవసరం; NFC ఆన్ చేసి పని పూర్తయ్యేవరకు కీని ఫోన్కు దగ్గర ఉంచండి. అడిగితే PIN ఇచ్చి కీ తాకండి.
OpenSSH 8.2 లేదా కొత్త సర్వర్, ఎంపిక sk-* అనుమతి కావాలి. U2F-మాత్రమే కీలు, resident ఆధారాల కనుగొనడం మద్దతు లేదు. కీ వెతికేలోగా లాగిన్ గడువు ముగియవచ్చు; ముందే సిద్ధం చేయండి. నేపథ్య అభ్యర్థనకు కీ నోటిఫికేషన్ లేదా యాప్ తెరవండి. iOS హార్డ్వేర్ కీ ప్రమాణీకరణ ఇవ్వదు.
కీబోర్డ్ ఇన్పుట్ ఆలస్యం అవుతుంది లేదా మారుతుంది
Android నేరుగా కీబోర్డ్ ఇన్పుట్ పంపుతుంది; స్వీయదిద్దుబాటు/ఊహా సూచనలు ఆఫ్. iOS డిక్టేషన్, సూచనలు డిఫాల్ట్ ఆన్, ప్రస్తుత లైన్కు వాయిస్/దిద్దుబాట్లు ఇస్తుంది. అనూహ్యంగా మార్చితే ఆఫ్ చేసి కీబోర్డ్ సూచనలు చూసి కొత్త పేన్ తెరవండి.
ESC, TAB, CTRL, బాణాలు, HOME, END, PGUP, PGDNకు అదనపు కీ వరుస వాడండి. నిలిచిన నెట్వర్క్ కూడా ఆలస్యం చేస్తుంది. Android సమాధానం లేదు లేదా పంపలేదు చూపుతుంది; పునఃకనెక్షన్లో టైప్ చేసినది వదిలేస్తుంది, కొత్త షెల్లో తిరిగి పంపదు. కనెక్షన్, ప్రాంప్ట్ చూసి అవసరమైనదే తిరిగి టైప్ చేయండి.
tmux స్క్రోలింగ్ మీరు ఆశించినట్లు లేదు
Mobile SSH టర్మినల్ స్థితి ఆధారంగా స్క్రోల్ ప్రవర్తనను మారుస్తుంది. tmux లేదా ఇతర ప్రత్యామ్నాయ-స్క్రీన్ ప్రోగ్రామ్లలో, స్క్రోల్ సంజ్ఞలు స్థానిక చరిత్రను స్క్రోల్ చేయడానికి బదులు tmux కాపీ-మోడ్ కమాండ్లను పంపవచ్చు. tmux మౌస్ మోడ్ ప్రారంభించబడితే, యాప్ మౌస్-వీల్ ఎస్కేప్ సీక్వెన్స్లను పంపుతుంది.
స్క్రోలింగ్ తప్పుగా అనిపిస్తే:
- రిమోట్ సర్వర్లో tmux మౌస్ మోడ్ను ప్రారంభించడానికి లేదా నిలిపివేయడానికి ప్రయత్నించండి.
- అదనపు కీ వరుస నుండి
PGUPమరియుPGDNఉపయోగించండి. - దట్టమైన అవుట్పుట్ను స్క్రోల్ చేసే ముందు ఫుల్స్క్రీన్ కోసం పేన్పై డబుల్-ట్యాప్ చేయండి.
- రిమోట్ టర్మినల్ పరిమాణం పాతదిగా కనిపిస్తే tmux నుండి విడదీసి మళ్లీ అటాచ్ చేయండి.
Androidలో సాధారణ copy-mode గుర్తు కనిపిస్తే కిందికి స్క్రోల్ చేయడం యాప్ నిర్వహించే tmux copy mode నుంచి బయటపడుతుంది. గుర్తు లేని కస్టమ్/విభజిత అమరికల్లో మాన్యువల్గా రావాలి. సెషన్ మార్పులో పేరుతో పాటు ఎంపిక సర్వర్, 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 క్లయింట్లో loopback చిరునామా, పోర్టు, పాస్వర్డ్, రిమోట్ DNS అమర్చండి; ప్రాక్సీ అన్ని యాప్లను ఆటోగా మళ్లించదు.
- WireGuard హ్యాండ్షేక్, కీలు,
AllowedIPs, DNS; Shadowsocks సైఫర్/పాస్వర్డ్, DNSకు UDP రిలే చూడండి. - OpenVPN పూర్తి మద్దతున్న ప్రొఫైల్, CA/గుర్తింపు, ఆధారాలు; పూర్తి టన్నెల్కు VPN DNS. ప్రమాణీకరణ/సర్టిఫికెట్ లోపం సరిచేసి ఆపి మళ్లీ మొదలుపెట్టండి.
SSH VPN, Shadowsocks, OpenVPN పునఃకనెక్షన్లో పట్టుకున్న ట్రాఫిక్ను నేరుగా పంపకుండా ఆపవచ్చు. ఆపితే రక్షణ ముగుస్తుంది. సర్వర్ ప్రదాత/నిర్వాహకుడి ఇంటర్నెట్ పరిమితులను VPN దాటలేదు.
బ్యాకప్ అన్నీ పునరుద్ధరించలేదు
ప్రివ్యూ, కలుపు లేదా భర్తీ చూడండి. పాత/పాక్షిక బ్యాకప్లో లేని భాగాలు మారవు. పూర్తి బ్యాకప్లో మద్దతున్న సెట్టింగ్లు; Androidలో VPN/ప్రాక్సీ కూడా. అన్ని ప్లాట్ఫామ్ అంశాలు iOSకు రావు; పాత యాప్ కొత్త పూర్తి బ్యాకప్ తిరస్కరించవచ్చు.
హోస్ట్ గుర్తింపులు, సిస్టమ్ అనుమతులు, ఫోల్డర్ ప్రవేశం పరికరంలోనే. కొత్త పరికరంలో హోస్ట్ తనిఖీ చేసి ఫోల్డర్/VPN అనుమతి ఇవ్వండి. హార్డ్వేర్ ఆధారాలకు భౌతిక కీ కావాలి. దిగుమతి VPN ప్రారంభించదు; ముందు చూడండి.
రిమోట్ డెస్క్టాప్ లేదు లేదా పరిమాణం మారలేదు
కనెక్ట్ అయిన SSH నుంచి డెస్క్టాప్ తెరవండి. స్థానిక TCP ఫార్వార్డింగ్ అనుమతి చూడండి. Linuxలో లేని ప్యాకేజీ సందేశం ప్రకారం desktop/VNC ఇన్స్టాల్ చేయండి. Android Wayland console మిర్రర్ చేయదు; మద్దతున్న వర్చువల్ డెస్క్టాప్ వాడండి.
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 లో మీరు టైప్ చేసిన ఏదైనా — బహిర్గతం చేయవచ్చు.