SSD Nodes Learn 8GB RAM — $66/वर्ष
मार्गदर्शक Matt Connorद्वारे Matt Connor · अपडेटेड 2026-08-01

फोनवरून Claude Code कसे वापरावे?

Claude Code VPS वरील tmux मध्ये चालते, फोन फक्त terminal window असतो. SSH keys, mobile data साठी mosh, tmux attach आणि keyboard सुधारणा समजून घ्या.

फोनवरून Claude Code: हे प्रत्यक्षात कसे कार्य करते

फोनवरून Claude Code वापरण्यासाठी स्वतंत्र मोबाइल app नसते. Claude Code VPS (virtual private server) वर, सुरू असलेल्या tmux session मध्ये कार्य करते. तुमचा फोन त्या session शी SSH (secure shell) connection उघडतो आणि तुम्ही ते पाहत असताना तो connection सुरू ठेवतो. app बंद केली तरी agent कार्यरत राहतो, कारण process फोनवर चालूच झालेली नसते.

ही विभागणीच संपूर्ण रचना ठरवते. फोनची operating system तुम्ही app मधून बाहेर पडल्यावर काही सेकंदांत ती app suspend करते. त्यामुळे फोनवर सुरू केलेले कोणतेही दीर्घकाळ चालणारे काम थांबते. तसेच, तुम्ही wifi वरून mobile data वर गेल्यावर फोनला प्रत्येक वेळी नवीन network address मिळतो. Process server वर चालवल्यामुळे आणि फोनवर फक्त स्क्रीन दाखवली जात असल्यामुळे या दोन्ही समस्या दूर होतात.

server वर तुम्हाला चार गोष्टी आवश्यक आहेत: session टिकवून ठेवण्यासाठी tmux, प्रवेशासाठी SSH keys, network बदलांसाठी mosh आणि स्वतः Claude Code. फोनच्या बाजूला key row उपलब्ध असलेले एक terminal app पुरेसे आहे.

VPS वर आवश्यक गोष्टी

SSH आणि tmux साठी एक छोटा Ubuntu 24.04 सर्व्हर पुरेसा आहे. Claude Code साठी अधिक संसाधने आवश्यक आहेत. July 2026 पर्यंतच्या अधिकृत आवश्यकतांनुसार x64 किंवा ARM64 processor असलेल्या Ubuntu 20.04 किंवा त्यानंतरच्या आवृत्तीची आवश्यकता आहे. तसेच 4 GB किंवा अधिक RAM आवश्यक आहे. 1 GB plan मध्ये ते install होते, पण load वाढल्यावर kernel process बंद करते. Claude Code वापरण्यासाठी paid Claude account (Pro, Max, Team किंवा Enterprise) किंवा API access असलेले Console account आवश्यक आहे. Free Claude.ai plan मध्ये ते समाविष्ट नाही.

सर्व्हरवर sudo अधिकार असलेल्या सामान्य user द्वारे काम करा. root म्हणून काम करू नका. सर्व्हर नवीन असल्यास, आधी नवीन VPS वरील पहिली दहा मिनिटे पूर्ण करा. या मार्गदर्शकातील पुढील SSH बदल user आणि firewall तयार झाल्यानंतर अधिक सोपे होतात.

sudo apt update && sudo apt install -y tmux mosh
curl -fsSL https://claude.ai/install.sh | bash
claude --version

Installer binary ला ~/.local/bin/claude येथे ठेवतो आणि claude --version चालवल्यावर 2.1.211 (Claude Code) सारखी ओळ दाखवतो. command not found दिसल्यास, ती directory अद्याप तुमच्या PATH मध्ये समाविष्ट केलेली नाही. logout करा, पुन्हा login करा आणि command -v claude वापरून तपासा. claude doctor session सुरू न करता installation आणि settings संबंधी diagnostics दाखवतो.

आता laptop वरून एकदा login करा. नंतर phone वर अवलंबून राहणे टाळता येईल. Project directory मध्ये claude चालवा आणि login prompt मधील सूचनांचे पालन करा. या प्रक्रियेत browser मध्ये URL उघडून code terminal मध्ये परत द्यावा लागतो. Phone screen वर दोन apps मध्ये सतत बदल करणे धीमे असते. हे काम एकदा प्रत्यक्ष keyboard वरून करा. त्यानंतर credentials server वरच राहतात.

कनेक्शन तुटल्यामुळे प्रक्रिया बंद होऊ नये म्हणून tmux मध्ये Claude Code सुरू करा

tmux new -s claude
cd ~/projects/api
claude

Ctrl-b दाबून detach करा आणि त्यानंतर d दाबा. tmux [detached (from session claude)] दाखवतो आणि shell पुन्हा तुमच्याकडे सोपवतो. आता app बंद करा, signal गमावा किंवा फोन खिशात ठेवा. pane मधील प्रक्रिया सुरूच राहते.

tmux ls
tmux attach -t claude

tmux ls प्रत्येक session साठी एक ओळ दाखवतो, उदाहरणार्थ claude: 1 windows (created Thu Jul 30 09:14:02 2026). tmux attach -t claude तुम्हाला नेमक्या मागील ठिकाणी परत आणतो. त्यात अर्धवट राहिलेला edit देखील समाविष्ट असतो.

हे tmux स्वतःचा server process चालवते म्हणून शक्य होते. तुमचे shell आणि Claude Code हे sshd चे child नसून त्या server चे child असतात. SSH connection संपल्यावर kernel त्या connection शी जोडलेल्या processes कडे hangup signal, SIGHUP, पाठवतो. tmux server त्यापैकी एक नसतो. tmux शिवाय, connection तुटवणारा तोच screen lock Claude Code ला tool call च्या मध्यात थांबवतो. VPS वर tmux मध्ये Claude Code चालवणे या session layout चे अधिक सविस्तर वर्णन करते.

tmux server वर चालवा, फोनवर कधीही चालवू नका. आधीपासून जोडलेल्या session मध्ये tmux टाइप केल्यास sessions should be nested with care, unset $TMUX to force दाखवले जाते. त्याची सक्ती केल्यास एकमेकांवर परिणाम करणाऱ्या दोन prefix keys मिळतात.

प्रत्येक लॉगिनवर स्वयंचलितपणे संलग्न करा

टच कीबोर्डवर attach कमांड टाइप करणे त्रासदायक होते. सर्व्हरवरील ~/.profile च्या शेवटी हे जोडा:

if command -v tmux >/dev/null 2>&1 && [ -z "$TMUX" ] && [ -t 1 ]; then
  exec tmux new-session -A -s claude
fi

new-session -A -s claude अस्तित्वात असल्यास claude नावाच्या सत्राला संलग्न होते आणि ते अस्तित्वात नसल्यास ते तयार करते. त्यामुळे दोन्ही परिस्थितींसाठी एकच कमांड पुरेशी असते. exec लॉगिन शेलच्या जागी tmux सुरू करते. त्यामुळे tmux मधून बाहेर पडल्यावर तुम्हाला रिकाम्या प्रॉम्प्टवर न सोडता कनेक्शन बंद होते. साधा शेल हवा असल्यास फाइल वगळा: ssh you@server -t "bash --noprofile".

हे ~/.profile मध्ये ठेवा, ~/.bashrc मध्ये नाही. ~/.bashrc नॉन-इंटरॅक्टिव्ह सत्रांसाठीही चालते, त्यामुळे फाइल हस्तांतरण अयशस्वी होते: scp आणि sftp अनपेक्षित आउटपुटचा प्रोटोकॉल डेटा म्हणून अर्थ लावतात आणि Received message too long सह अयशस्वी होतात. ~/.profile फक्त लॉगिन शेलसाठी चालते. इंटरॅक्टिव्ह SSH सत्रासाठी हेच आवश्यक आहे.

Ubuntu ~/.profile मध्ये ~/.local/bin ला PATH मध्ये जोडते. लॉगिननंतर लगेच claude कार्यरत असेल, पण tmux मधील शेल command not found सांगत असेल, तर त्यामागे हीच क्रमवारी कारणीभूत आहे. त्यामुळे प्रोफाइल वगळणाऱ्या स्क्रिप्टमधून tmux सुरू करण्याऐवजी वर दिल्याप्रमाणे लॉगिन शेलमधून tmux सुरू करा.

दोन्ही अॅप्स SSH आणि mosh वापरतात आणि दोन्ही अॅप्समध्ये keys साठवता येतात. फरक त्यांच्या interface मध्ये आहे.

Blink Shell हे command-driven आहे. त्याच्या prompt वर ssh you@server किंवा mosh you@server टाइप करा. यामध्ये desktop terminal प्रमाणेच syntax वापरला जातो. config टाइप केल्यावर Settings उघडतात. Keys विभाग तुमच्यासाठी key pair तयार करतो.

Termius हे form-driven आहे. तुम्ही host entry भरता आणि नंतर host details मध्ये त्या host चे SSH वरून Mosh मध्ये रूपांतर करता. Termius मध्ये स्वतःची mosh implementation समाविष्ट आहे आणि ते mosh 1.3.0 किंवा त्यानंतरच्या आवृत्त्यांना support करते. त्यामुळे server वर mosh package install केलेले असणे आवश्यक आहे.

दोन्ही बाबतीत key अॅपमध्येच generate करा. Existing private key फोनवर कधीही copy करू नका. अॅप तुम्हाला public half दाखवते. हीच एक ओळ server वरील ~/.ssh/authorized_keys मध्ये add करायची असते. प्रत्येक device साठी SSH keys आणि एखादी key revoke करण्याची पद्धत या भागात naming आणि revoke करण्याची पायरी स्पष्ट केली आहे. Laptop पेक्षा फोनसाठी ही बाब अधिक महत्त्वाची आहे.

Terminal अॅपचा biometric किंवा passcode lock सुरू करा. तो सुरू नसल्यास, screen जागी असेपर्यंत unlocked phone म्हणजे तुमच्या server वरील उघडा shell असतो.

Android: Termux

pkg upgrade
pkg install openssh mosh
ssh-keygen -t ed25519 -C "pixel"
cat ~/.ssh/id_ed25519.pub

Termux स्वतःच्या repository मध्ये OpenSSH आणि mosh ची packages उपलब्ध करून देते. त्यामुळे ssh, ssh-keygen आणि mosh desktop प्रमाणेच कार्य करतात. दाखवलेली public key line server वरील ~/.ssh/authorized_keys मध्ये जोडा. त्यानंतर mosh you@server वापरून connect करा.

Android वरील on-screen keyboard मध्ये Esc key आणि Ctrl key नसतात. Claude Code ला दोन्ही keys आवश्यक आहेत. Termux स्वतःची key row दाखवू शकते. ~/.termux/termux.properties मध्ये एक line जोडा:

extra-keys = [['ESC','|','/','HOME','UP','END','PGUP'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']]

त्यानंतर termux-reload-settings चालवा. Keyboard च्या वर key row दिसेल. ~/.termux/font.ttf मध्ये ठेवलेला monospace TrueType font देखील त्याच reload वेळी लोड होईल.

Termux background मध्ये असताना Android कदाचित ते थांबवू शकते. येथे त्यामुळे फक्त पुन्हा connect करावे लागते. Session आणि agent server वरच असतात.

wifi सोडल्यानंतर terminal गोठतो ते का, आणि mosh ते कसे दुरुस्त करते?

SSH connection हा TCP (transmission control protocol) connection असतो. TCP connection ची ओळख दोन्ही addresses आणि दोन्ही ports यांनी होते. wifi ची range सोडल्यावर phone ला mobile network कडून नवीन address मिळतो. त्यामुळे जुना connection कोणत्याही बाजूला जुळत नाही. याची कोणतीही सूचना दिली जात नाही. TCP हार मानेपर्यंत terminal प्रतिसाद देणे थांबवतो. त्यानंतर ssh client_loop: send disconnect: Broken pipe दाखवतो. गोठलेले session त्वरित बंद करण्यासाठी Enter, त्यानंतर ~, आणि मग . दाबा.

mosh (mobile shell) ही अडचण दूर करते. Login करून mosh-server process सुरू करण्यासाठी ते एकदा SSH वापरते. त्यानंतर server ने निवडलेला UDP (user datagram protocol) port वाचते आणि SSH connection बंद करते. पुढे दोन्ही बाजू shared session key ने authenticated UDP datagrams ची देवाणघेवाण करतात. त्यामुळे session ची ओळख तुमच्या address ऐवजी त्या key ने होते. नवीन address मिळाल्यावर session सुरूच राहते. mosh तुमचे typing स्थानिक पातळीवर दाखवते आणि server च्या स्थितीशी फरक असल्यास screen पुन्हा रंगवते. त्यामुळे slow mobile link वरही ते वापरण्यायोग्य राहते.

mosh 60000 आणि 61000 यांदरम्यानचा UDP port वापरते. त्यामुळे ही range उघडा:

sudo ufw allow 60000:61000/udp
sudo ufw status

ufw वापरून ports उघडणे येथे firewall संबंधी उर्वरित माहिती आहे. तुमचा provider control panel मध्ये स्वतंत्र network firewall देत असल्यास, तेथेही हीच range जोडा. कारण machine च्या पुढे असलेल्या filter वर ufw rule परिणाम करू शकत नाही.

mosh मधील दोन failures सामान्य आहेत. Login यशस्वी होऊन नंतर अडकतो आणि Nothing received from server on UDP port 60001. दाखवतो, याचा अर्थ phone आणि server यांच्या दरम्यान कुठेतरी UDP range block आहे. Connection mosh-server not found असे सांगत असल्यास, server वर package missing आहे किंवा login PATH मध्ये ते अनुपस्थित आहे. ते install करा किंवा mosh --server=/usr/bin/mosh-server you@server वापरून त्याचा थेट path द्या.

Login locale UTF-8 नसल्यास mosh चालण्यास नकार देते आणि हे सांगते: mosh-server needs a UTF-8 native locale to run. Locale phone वर नव्हे, server वर दुरुस्त करा.

locale
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8

mosh दोन गोष्टी करत नाही. त्याच्या README नुसार mosh X forwarding किंवा SSH चे non-interactive uses support करत नाही. यामध्ये port forwarding चाही समावेश आहे. त्यामुळे Claude Code ने नुकतेच सुरू केलेले web app preview करण्यासाठी plain ssh -L 8080:127.0.0.1:8080 you@server आवश्यक आहे. mosh फक्त दिसणारी screen synchronise करते. त्यामुळे त्याचे स्वतःचे scrollback नसते. येथे या मर्यादेमुळे अडचण येत नाही, कारण tmux scrollback ठेवते: Ctrl-b, त्यानंतर [ दाबल्यास copy mode सुरू होते. Drag किंवा arrow keys ने scroll करा आणि q दाबून बाहेर पडा.

फोनची स्क्रीन वापरण्यायोग्य करा

~/.tmux.conf मधील चार ओळी सर्वाधिक काम करतात:

set -g mouse on
set -g status-position top
set -g default-terminal "tmux-256color"
set -g history-limit 20000

mouse on टचने केलेले ओढणे स्क्रोलमध्ये आणि टॅप पेन किंवा विंडो निवडण्यात रूपांतरित करते. त्यामुळे टाइप करणे अवघड असलेल्या बहुतेक prefix keys ची गरज राहत नाही. status-position top tmux status line खालच्या कडेपासून दूर नेते. तिथे on-screen keyboard आणि त्याचा suggestion bar ती झाकतात. default-terminal महत्त्वाचे आहे, कारण अन्यथा tmux Claude Code ला screen terminal असल्याचे सांगतो. त्यामुळे रंग आणि box drawing आवश्यकतेपेक्षा खराब दिसतात. त्यानंतर missing or unsuitable terminal: tmux-256color मुळे tmux सुरू होण्यास नकार देत असल्यास terminfo entry उपलब्ध नाही: sudo apt install ncurses-term.

चार keys शिका. त्यानंतर उर्वरित वापर सोपा होतो.

  • Esc Claude चा सुरू असलेला प्रतिसाद थांबवते आणि आतापर्यंत झालेले काम ठेवते. त्यामुळे हा key अंगठ्याजवळ ठेवणे योग्य आहे.
  • Ctrl+C सुरू असलेली operation देखील थांबवते. Idle prompt वर पहिल्या दाबण्याने input साफ होते आणि दुसऱ्या दाबण्याने Claude Code मधून बाहेर पडते. त्यामुळे हे अधिक कठोर साधन आहे.
  • Esc दोनदा दाबल्यास draft prompt साफ होतो. Empty prompt वर ते त्याऐवजी rewind menu उघडते.
  • Multi-line prompt साठी \ टाइप करा आणि नंतर Enter दाबा. हा प्रकार प्रत्येक terminal मध्ये कार्य करतो. Shift+Enter मुळात फक्त काही desktop terminals मध्ये उपलब्ध आहे. Mobile clients त्यात समाविष्ट नाहीत.

Split panes टाळा. Portrait स्थितीतील फोनची रुंदी साधारण 40 columns असते. त्यामुळे vertical split केल्यास प्रत्येक pane मध्ये 20 columns उरतात आणि प्रत्येक diff अनावश्यकपणे अनेक ओळींत विभागला जातो. त्याऐवजी tmux windows वापरा: Ctrl-b c एक window तयार करते आणि Ctrl-b n पुढील window वर जाते. Diff नीट वाचायचा असल्यास फोन आडवा धरा.

लहान स्क्रीनवरील दीर्घ session ही प्रामुख्याने context ची समस्या असते. त्यामुळे ट्रेनमधून पूर्ण दिवसाचे काम करण्याचा प्रयत्न करण्यापूर्वी Claude Code context window व्यवस्थापित करणे वाचणे उपयुक्त ठरेल.

लॉकडाउन करा: फक्त keys, passwords नाही

आता फोनमध्ये अशा मशीनची key आहे जी तुमचा code संपादित करते आणि commands चालवते. Password authentication बंद करा. sshd_config थेट संपादित करण्यापेक्षा drop-in file अधिक सुरक्षित असते, कारण Ubuntu चे sshd_config सुरुवातीला /etc/ssh/sshd_config.d/*.conf समाविष्ट करते आणि एखाद्या setting साठी आढळणारी पहिली value वापरली जाते.

sudo tee /etc/ssh/sshd_config.d/99-phone.conf >/dev/null <<'EOF'
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
EOF
sudo sshd -t && sudo systemctl reload ssh

sshd -t config चे विश्लेषण करते आणि config वैध असल्यास काहीही print करत नाही. हे वगळल्यास एका typo मुळे reload वेळी sshd अयशस्वी होऊ शकते. तुमचे सध्याचे session उघडे ठेवा आणि काहीही बंद करण्यापूर्वी दुसऱ्या connection वरून test करा, कारण चुकीच्या key मुळे आता Permission denied (publickey). मिळेल आणि passwords बंद असल्यामुळे fallback उपलब्ध राहणार नाही. त्या वेळी recovery path म्हणजे तुमच्या provider चे console.

प्रत्येक device साठी स्वतंत्र key द्या. फोन हरवल्यास ~/.ssh/authorized_keys मधील एक line delete करावी लागेल आणि तुमचा laptop कार्यरत राहील. एकच shared key वापरल्यास तुमच्या मालकीच्या प्रत्येक device वर key बदलावी लागेल.

Ubuntu 24.04 वर SSH दुसऱ्या port वर हलवत असल्यास, listener ssh.socket शी संबंधित आहे हे लक्षात ठेवा. त्यामुळे स्वतंत्र Port line बदल केल्याने काहीही बदलत नाही. sudo systemctl edit ssh.socket चालवा, रिकाम्या ListenStream= ने default काढून टाका आणि पुढील line वर तुमचा port सेट करा. VPS वर SSH hardening मध्ये हे आणि उर्वरित attack surface समाविष्ट आहे.

SSH साठी fail2ban passwords बंद केल्यानंतर फारशी अतिरिक्त security देत नाही, कारण अंदाजाने दिलेला password अजिबात स्वीकारला जाऊ शकत नाही. मात्र ते शांत logs उपलब्ध करून देते. त्यामुळे खऱ्या login attempt ची नोंद सहज ओळखता येते.

अधिक सुरक्षित पर्याय म्हणजे SSH ला public internet वरून दूर ठेवणे. Server ला तुम्ही स्वतः host केलेल्या WireGuard VPN मागे ठेवा, गरजेनुसार फोनवर tunnel सुरू करा आणि sshd ला फक्त tunnel वर ListenAddress द्या. दोन्ही बाजू UDP वापरत असल्यामुळे mosh tunnel वर कार्य करते. एक मर्यादा आहे: tunnel मुळे packet overhead वाढतो. त्यामुळे मोठे transfers अडखळत असल्यास फोनच्या WireGuard config मध्ये MTU (maximum transmission unit) कमी करा.

या पद्धतीने काम करण्याबाबत आणखी एक मुद्दा आहे. फोनवरून तुम्ही एका वेळी diff मधील काही lines दाखवणाऱ्या screen वर permission prompts मंजूर करता. त्यामुळे guardrails बंद करण्याऐवजी ते कायम ठेवण्याचे हे कारण आहे. Touchscreen हा तुमचा मुख्य प्रवेशमार्ग होण्यापूर्वी सेट करावयाच्या user आणि directory limits साठी VPS वर Claude Code सुरक्षितपणे चालवणे पहा.

पुन्हा जोडल्यावर काहीतरी चुकीचे आढळल्यास

tmux attach छापले जाणे आणि no server running on /tmp/tmux-1000/default दिसणे याचा अर्थ tmux server बंद झाला आहे. याचा जवळजवळ नेहमीच अर्थ असा असतो की मशीन reboot झाले आहे. uptime वापरून तपासा. स्वयंचलित सुरक्षा अद्यतने मधील kernel updates मुळे box reboot होतो. Reboot झालेल्या box वर tmux session राहत नाही. त्यामुळे कोणतेही Claude Code run पुन्हा सुरू करता येईल असे समजा.

can't find session: claude यापेक्षा वेगळे आहे. tmux server चालू आहे, पण ते नाव अस्तित्वात नाही. अस्तित्वात असलेल्या गोष्टी tmux ls दाखवते.

Claude Code जिथे चालू होते तिथे attach केल्यावर साधा shell prompt दिसत असेल, तर session संपण्यापूर्वी process समाप्त झाला आहे. dmesg -T | tail मध्ये Out of memory: Killed process 4821 (claude) सारखी ओळ शोधा. मोठ्या edit दरम्यान 4 GB पेक्षा कमी memory असलेला box अशी ओळ दाखवतो. अशी ओळ नसल्यास Claude Code स्वतःहून बंद झाले आहे. त्या कारणाचा तपशील prompt च्या वरील shell च्या scrollback मध्ये असतो.

पुन्हा आलेली window अतिशय लहान दिसत असेल आणि तिच्याभोवती रिकामी जागा असेल, तर दोन clients वेगवेगळ्या आकारांत attached आहेत. tmux attached clients पैकी सर्वात लहान आकाराला बसणारी window तयार करते. तुमचा laptop session 200 columns रुंद ठेवत आहे, तर phone 40 columns मागत आहे. Attach करताना इतर clients detach करा: tmux attach -d -t claude.

FAQ

VPS ऐवजी Claude Code थेट फोनवर चालवू शकतो का?

नाही. July 2026 पर्यंत समर्थित प्लॅटफॉर्म macOS, Windows, Ubuntu 20.04 किंवा त्यानंतरच्या आवृत्त्या, Debian 10 किंवा त्यानंतरच्या आवृत्त्या, आणि Alpine 3.19 किंवा त्यानंतरच्या आवृत्त्या आहेत. यासाठी 4 GB किंवा त्याहून अधिक RAM आवश्यक आहे. Android आणि iOS या यादीत नाहीत. फोनवरील अॅप्स निष्क्रिय स्थितीत जातात आणि फोनचा network address सतत बदलतो. दीर्घकाळ चालणाऱ्या agent साठी हे स्वीकारार्ह नाही. ते server वर चालवा आणि फोनचा वापर display म्हणून करा.

मी app बंद केल्यास किंवा signal गमावल्यास session टिकतो का?

होय. हे काम दोन स्वतंत्र घटक करतात. tmux server वरील process चालू ठेवतो. त्यामुळे connection संपल्यावर process बंद होत नाही. mosh स्वतःचे connection address बदलल्यानंतरही चालू ठेवतो. त्यामुळे wifi वरून mobile data वर गेल्यावर पुन्हा connect करण्याची गरजही पडत नाही. tmux शिवाय plain SSH वापरल्यास connection तुटल्यावर SIGHUP पाठवला जातो आणि Claude Code मधील task अर्धवट थांबतो.

mosh connect झाल्यानंतर काहीही का दाखवत नाही?

Login यशस्वी झाल्यानंतर Nothing received from server on UDP port 60001. दाखवून connection अडकत असेल, तर UDP 60000 ते 61000 खुले नाहीत. ही range ufw मध्ये जोडा. तसेच ती तुमच्या provider च्या network firewall मध्येही जोडा. बहुतेक panels मध्ये हा स्वतंत्र नियंत्रण घटक असतो. mosh ने त्याऐवजी mosh-server सापडले नाही असे सांगितल्यास, server वर package उपलब्ध नाही: sudo apt install mosh.

Esc key नसलेल्या keyboard वरून Claude Code मध्ये व्यत्यय कसा आणू?

Key row जोडा. Termux मध्ये ~/.termux/termux.properties मधील extra-keys वापरून ती configure करता येते. Termius आणि Blink या दोन्हीमध्ये settings मध्ये संपादित करता येणारी key row दिलेली असते. Esc चालू response मध्ये व्यत्यय आणतो आणि आतापर्यंत झालेले काम ठेवतो. Ctrl+C देखील व्यत्यय आणतो. मात्र idle prompt वर तो दोनदा दाबल्यास Claude Code बंद होते. त्यामुळे प्रथम Esc वापरा.

SSH इंटरनेटसाठी खुले ठेवणे यासाठी पुरेसे सुरक्षित आहे का?

Password authentication बंद असल्यास, यशस्वी होऊ शकणारे एकमेव credential म्हणजे तुमच्या devices मधून कधीही बाहेर न जाणारी key. तुम्ही पुन्हा तयार करू शकणाऱ्या machine साठी हा स्वीकारार्ह धोका आहे. प्रत्येक device साठी स्वतंत्र key द्या. त्यामुळे फोन हरवल्यास authorized_keys मधील केवळ एक ओळ काढावी लागेल. सार्वजनिक port वर अजिबात connection स्वीकारायचे नसेल, तर box ला WireGuard मागे ठेवा आणि sshd ला tunnel address वर listen करू द्या.