फोनवर Claude Code कसे वापरावे?
Claude Code VPS वरील tmux मध्ये चालते आणि फोन फक्त विंडो असतो. SSH keys, अस्थिर mobile data साठी mosh, tmux attach आणि उपयुक्त keyboard उपाय जाणून घ्या.
तुमच्या फोनवर Claude Code: हे प्रत्यक्षात कसे कार्य करते
तुमच्या फोनवर Claude Code हे mobile app नाही. Claude Code VPS (virtual private server) वर, सुरू ठेवलेल्या tmux session मध्ये चालते. तुम्ही session पाहत असता तोपर्यंत तुमचा फोन त्या session शी SSH (secure shell) connection उघडा ठेवतो. app बंद केले तरी agent काम करत राहतो, कारण process फोनवर चालतच नव्हती.
ही विभागणीच या रचनेचा मुख्य आधार आहे. फोनची operating system एखादे app वापरणे थांबवल्यानंतर काही सेकंदांत ते suspend करते. त्यामुळे फोनवर सुरू केलेले दीर्घकाळ चालणारे काम थांबते. तसेच तुम्ही wifi वरून mobile data वर गेल्यावर फोनला प्रत्येक वेळी नवीन network address मिळतो. Process server वर चालवला आणि फोनने फक्त screen दाखवली, तर या दोन्ही समस्या दूर होतात.
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 किंवा त्यानंतरचे version आणि 4 GB किंवा त्याहून अधिक RAM आवश्यक आहे. 1 GB plan वर ते install होते, पण load वाढल्यावर kernel ती process बंद करते. Claude Code वापरण्यासाठी paid Claude account (Pro, Max, Team किंवा Enterprise) किंवा API access असलेले Console account आवश्यक आहे, कारण मोफत Claude.ai plan मध्ये ते समाविष्ट नाही.
बॉक्सवर root म्हणून नव्हे, तर sudo अधिकार असलेला सामान्य user वापरा. Server नवीन असल्यास आधी नवीन VPS वरील पहिली दहा मिनिटे हा भाग पूर्ण करा. या मार्गदर्शकातील पुढील SSH बदल user आणि firewall तयार झाल्यानंतर अधिक सोपे होतील.
sudo apt update && sudo apt install -y tmux mosh
curl -fsSL https://claude.ai/install.sh | bash
claude --versionInstaller 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 करा. Project directory मध्ये claude चालवा आणि login prompt मधील सूचना पाळा. या प्रक्रियेत browser मध्ये URL उघडून code पुन्हा terminal मध्ये आणावा लागतो. फोनच्या screen वर दोन अॅप्समध्ये सतत बदल करणे धीमे ठरते. हे काम एकदा प्रत्यक्ष keyboard वर करा; त्यानंतर credentials server वरच राहतील.
Claude Code tmux मध्ये सुरू करा, जेणेकरून कनेक्शन तुटल्याने ते बंद होणार नाही
tmux new -s claude
cd ~/projects/api
claudeCtrl-b दाबून detach करा आणि त्यानंतर d दाबा. tmux [detached (from session claude)] दाखवतो आणि तुम्हाला पुन्हा shell कडे नेतो. आता अॅप बंद करा, signal गमवा किंवा फोन खिशात ठेवा. pane मधील प्रक्रिया सुरूच राहते.
tmux ls
tmux attach -t claudetmux 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 processes नसून त्या server चे child processes असतात. SSH कनेक्शन संपल्यावर kernel त्या कनेक्शनला जोडलेल्या processes कडे hangup signal, SIGHUP, पाठवतो. tmux server त्या processes पैकी एक नसतो. tmux शिवाय, तुमचे कनेक्शन तोडणारे 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 मिळतात.
प्रत्येक login वेळी आपोआप attach करा
Touch keyboard वर attach command टाइप करणे त्रासदायक होते. Server वरील ~/.profile च्या शेवटी हे जोडा:
if command -v tmux >/dev/null 2>&1 && [ -z "$TMUX" ] && [ -t 1 ]; then
exec tmux new-session -A -s claude
finew-session -A -s claude अस्तित्वात असल्यास claude नावाच्या session ला attach करते आणि तो अस्तित्वात नसल्यास तो तयार करते. त्यामुळे दोन्ही परिस्थितींसाठी एकच command पुरेसे आहे. exec login shell च्या जागी tmux सुरू करते. त्यामुळे tmux मधून बाहेर पडल्यावर तुम्हाला रिकाम्या prompt वर न सोडता connection बंद होते. साधा shell हवा असल्यास file वगळा: ssh you@server -t "bash --noprofile".
हे ~/.profile मध्ये ठेवा, ~/.bashrc मध्ये नाही. ~/.bashrc non-interactive sessions साठीही चालते. त्यामुळे file transfers अयशस्वी होतात: scp आणि sftp अनपेक्षित output ला protocol data म्हणून वाचतात आणि Received message too long सह अयशस्वी होतात. ~/.profile केवळ login shells साठी चालते. Interactive SSH session साठी हेच अपेक्षित आहे.
Ubuntu ~/.profile मध्ये ~/.local/bin ला PATH मध्ये जोडते. Login केल्यानंतर लगेच claude कार्यरत असेल, पण tmux मधील shell मध्ये command not found दिसत असेल, तर त्यामागे हेच क्रम कारणीभूत आहे. त्यामुळे profile वगळणाऱ्या script मधून tmux सुरू करण्याऐवजी वर दाखवल्याप्रमाणे login shell मधून tmux सुरू करा.
iOS: Termius किंवा Blink Shell
दोन्ही अॅप्स 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 पेक्षा phone साठी हे अधिक महत्त्वाचे आहे.
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.pubTermux स्वतःच्या 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 मध्ये एक ओळ जोडा:
extra-keys = [['ESC','|','/','HOME','UP','END','PGUP'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']]त्यानंतर termux-reload-settings चालवा. Keyboard च्या वर key row दिसेल. याच reload मुळे ~/.termux/font.ttf मध्ये ठेवलेला monospace TrueType font देखील लोड होतो.
Termux background मध्ये असताना Android ते थांबवू शकते. या परिस्थितीत फक्त पुन्हा connect करावे लागते. Session आणि agent server वरच चालू असतात.
टर्मिनलमधून Wi-Fi क्षेत्राबाहेर गेल्यावर तो थांबतो का आणि mosh कोणती समस्या सोडवते?
SSH कनेक्शन हे TCP (transmission control protocol) कनेक्शन असते. TCP कनेक्शनची ओळख दोन्ही addresses आणि दोन्ही ports यांच्या आधारे होते. Wi-Fi क्षेत्राबाहेर गेल्यावर फोनला mobile network कडून नवीन address मिळतो. त्यामुळे जुने कनेक्शन कोणत्याही टोकाला जुळत नाही. याबद्दल कोणतीही सूचना मिळत नाही. TCP हार मानत नाही तोपर्यंत टर्मिनल प्रतिसाद देणे थांबवते. त्यानंतर ssh client_loop: send disconnect: Broken pipe छापते. गोठलेले session त्वरित बंद करण्यासाठी Enter, त्यानंतर ~, आणि मग . दाबा.
mosh (mobile shell) हा अपयशाचा प्रकार टाळतो. ते login करण्यासाठी आणि mosh-server process सुरू करण्यासाठी एकदा SSH वापरते. त्यानंतर server ने निवडलेला UDP (user datagram protocol) port परत वाचते आणि SSH कनेक्शन बंद करते. पुढे दोन्ही बाजू shared session key ने authenticated केलेले UDP datagrams देवाणघेवाण करतात. त्यामुळे session ची ओळख तुमच्या address ने नव्हे, तर त्या key ने होते. नवीन address मिळाल्यावर session सुरूच राहते. mosh तुमचे typing स्थानिक पातळीवर echo करते आणि server चे output वेगळे असल्यास स्क्रीन पुन्हा मांडते. त्यामुळे slow mobile link वरही ते वापरण्यायोग्य राहते.
mosh 60000 आणि 61000 यांच्या दरम्यानचा UDP port वापरते. त्यामुळे ही range उघडा:
sudo ufw allow 60000:61000/udp
sudo ufw statusufw ने ports उघडणे येथे firewall configuration चे उर्वरित विवरण आहे. तुमचा provider control panel मध्ये स्वतंत्र network firewall देत असल्यास, तिथेही हीच range जोडा. कारण मशीनच्या पुढे असलेल्या filter वर ufw rule चा परिणाम होत नाही.
mosh मधील दोन failures सामान्य आहेत. Login यशस्वी झाल्यानंतर Nothing received from server on UDP port 60001. दाखवत session थांबत असेल, तर फोन आणि 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 server वर दुरुस्त करा, फोनवर नाही.
locale
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8mosh दोन गोष्टी करत नाही. त्याच्या README नुसार mosh X forwarding किंवा SSH चे non-interactive उपयोग 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 20000mouse on स्पर्शाने केलेले drag scroll मध्ये आणि tap pane किंवा window निवडीत रूपांतरित करते. त्यामुळे टाइप करणे अवघड असलेल्या बहुतेक prefix keys ची गरज राहत नाही. status-position top tmux status line खालच्या कडेपासून दूर हलवते. ऑन-स्क्रीन keyboard आणि त्याची suggestion bar ती कड झाकतात. default-terminal महत्त्वाचे आहे, कारण अन्यथा tmux Claude Code ला screen terminal असल्याचे सांगतो. त्यामुळे colours आणि box drawing अपेक्षेपेक्षा खराब दिसतात. missing or unsuitable terminal: tmux-256color मुळे tmux सुरू होण्यास नकार देत असेल, तर terminfo entry उपलब्ध नाही: sudo apt install ncurses-term.
चार keys शिका. त्यानंतर वापर आरामदायक होतो.
EscClaude च्या सुरू असलेल्या response मध्ये व्यत्यय आणते आणि आतापर्यंत झालेले काम ठेवते. त्यामुळे अंगठ्याजवळ ठेवण्यासाठी हीच योग्य key आहे.Ctrl+Cदेखील सुरू असलेल्या operation मध्ये व्यत्यय आणते. idle prompt वर पहिल्यांदा दाबल्यास input साफ होते आणि दुसऱ्यांदा दाबल्यास Claude Code बंद होते. त्यामुळे हे अधिक कठोर पर्याय आहे.Escदोनदा दाबल्यास draft prompt साफ होते. prompt रिकामा असल्यास त्याऐवजी rewind menu उघडते.- multi-line prompt साठी
\टाइप करा आणि नंतर Enter दाबा. हा प्रकार प्रत्येक terminal मध्ये चालतो. Shift+Enter हे desktop terminals च्या मर्यादित यादीतच native आहे; mobile clients त्यात नाहीत.
split panes टाळा. portrait स्थितीतील फोन साधारण 40 columns रुंद असतो. त्यामुळे vertical split केल्यास प्रत्येक pane साठी 20 columns उरतात आणि प्रत्येक diff वाचता न येणाऱ्या मजकुरात wrap होतो. त्याऐवजी tmux windows वापरा: Ctrl-b c ने नवीन window तयार करा आणि Ctrl-b n ने पुढील window वर जा. दुसऱ्या window मध्ये स्वतंत्र Claude Code session सुरू झाल्यास, दोन sessions एकमेकांना थेट काम देऊ शकतात, त्यामुळे touchscreen वर windows दरम्यान मजकूर copy करण्याची गरज राहत नाही. diff नीट वाचायचा असल्यास फोन आडवा धरा.
त्या स्क्रीनवर किती मजकूर दिसतो हे जाणीवपूर्वक ठरवणे उपयुक्त ठरते, कारण output style प्रत्येक उत्तरामागील system prompt संपादित करते आणि अधिक संक्षिप्त style मुळे फोनवर पुढे जाण्यासाठी कमी स्क्रीन भर मजकूर स्क्रोल करावा लागतो.
लहान स्क्रीनवरील दीर्घ session मध्ये मुख्य अडचण context ची असते. त्यामुळे ट्रेनमधून पूर्ण दिवसाचे काम सुरू करण्यापूर्वी Claude Code context window व्यवस्थापित करणे हा मजकूर वाचणे उपयुक्त ठरेल.
कडक सुरक्षा लागू करा: फक्त keys, passwords नाही
आता फोनमध्ये code संपादित करणाऱ्या आणि commands चालवणाऱ्या machine ची key आहे. 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 sshsshd -t config चे parsing करते आणि ते valid असल्यास काहीही print करत नाही. ही पायरी वगळल्यास एका typo मुळे reload वेळी sshd fail होऊ शकते. तुमचे सध्याचे session उघडे ठेवा आणि काहीही बंद करण्यापूर्वी दुसऱ्या connection वरून चाचणी करा. चुकीची key दिल्यास Permission denied (publickey). मिळेल आणि passwords बंद असल्यामुळे fallback उपलब्ध राहणार नाही. त्या वेळी recovery साठी तुमच्या 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 बंद केल्यानंतर फारशी अतिरिक्त सुरक्षा देत नाही, कारण अंदाजाने दिलेला password मुळीच स्वीकारला जाऊ शकत नाही. मात्र ते शांत logs देते. त्यामुळे login करण्याचा प्रत्यक्ष प्रयत्न सहज ओळखता येतो.
यापेक्षा मजबूत पर्याय म्हणजे SSH सार्वजनिक internet वरून बंद ठेवणे. Server तुम्ही स्वतः host केलेल्या WireGuard VPN मागे ठेवा, गरजेनुसार फोनवर tunnel सुरू करा आणि tunnel वरच sshd ला ListenAddress द्या. दोन्ही बाजू UDP वापरत असल्यामुळे mosh tunnel वर काम करते. एक मर्यादा अशी आहे की tunnel मुळे packet overhead वाढतो. त्यामुळे मोठे transfers अडखळत असल्यास फोनच्या WireGuard config मध्ये MTU (maximum transmission unit) कमी करा.
अशा पद्धतीने काम करताना शेवटचा एक मुद्दा लक्षात ठेवा. फोनवरून तुम्ही एका वेळी diff च्या काही lines दाखवणाऱ्या screen वर permission prompts मंजूर करता. त्यामुळे guardrails बंद करण्याऐवजी ते कायम ठेवणे योग्य आहे. VPS वर Claude Code सुरक्षितपणे चालवणे या मार्गदर्शिकेत touchscreen हा मुख्य प्रवेशमार्ग बनवण्यापूर्वी user आणि directory limits पैकी कोणत्या मर्यादा सेट कराव्यात हे स्पष्ट केले आहे.
पुन्हा जोडल्यावर काहीतरी चुकीचे आढळल्यास
tmux attach चे output 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 session अस्तित्वात आहेत ते tmux ls दाखवते.
Claude Code जिथे चालू होते तिथे attach केल्यावर साधा shell prompt दिसत असेल, तर session संपले नसतानाच process बंद झाला आहे. dmesg -T | tail मध्ये Out of memory: Killed process 4821 (claude) सारखी line शोधा. मोठ्या edit दरम्यान 4 GB पेक्षा कमी memory असलेला box असेच करतो. अशी line नसल्यास Claude Code स्वतःच बंद झाले आहे. Prompt च्या वरचा shell scrollback त्याचे कारण दाखवतो.
पुन्हा आलेली window खूप लहान दिसत असेल आणि तिच्या भोवती वापरात नसलेली जागा असेल, तर वेगवेगळ्या आकारांचे दोन clients जोडलेले आहेत. tmux window चा आकार सर्वांत लहान attached client मध्ये मावेल असा ठेवतो. तुमचा laptop session 200 columns रुंद ठेवत आहे, तर phone 40 columns मागत आहे. जोडताना इतर clients detach करा: tmux attach -d -t claude.
FAQ
मी Claude Code फोनवरच चालवू शकतो का, VPS वर न चालवता?
नाही. July 2026 पर्यंत समर्थित platforms म्हणजे macOS, Windows, Ubuntu 20.04 किंवा त्यानंतरचे versions, Debian 10 किंवा त्यानंतरचे versions आणि Alpine 3.19 किंवा त्यानंतरचे versions आहेत. यासाठी 4 GB किंवा त्याहून अधिक RAM आवश्यक आहे. Android आणि iOS या यादीत नाहीत. फोनवरील apps sleep होतात आणि network address वारंवार बदलतो. दीर्घकाळ चालणाऱ्या agent run साठी हे स्वीकारार्ह नाही. ते server वर चालवा आणि फोनचा वापर display म्हणून करा.
मी app बंद केली किंवा signal गेला, तर session टिकतो का?
होय. हे काम दोन स्वतंत्र घटक करतात. tmux server वरील process चालू ठेवतो. त्यामुळे connection बंद झाले तरी काहीही थांबत नाही. 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. सह hang होत असेल, तर UDP 60000 ते 61000 खुले नाहीत. ufw मध्ये ही range जोडा. त्याचप्रमाणे ती तुमच्या provider च्या network firewall मध्येही जोडा. बहुतेक panels मध्ये हा स्वतंत्र control असतो. mosh ने त्याऐवजी mosh-server आढळले नाही असे दाखवले, तर server वर package उपलब्ध नाही: sudo apt install mosh.
Esc key नसलेल्या keyboard वरून Claude Code कसे interrupt करू?
एक key row जोडा. Termux मध्ये ~/.termux/termux.properties मधील extra-keys वापरून ती configure करता येते. Termius आणि Blink मध्येही settings मधून edit करता येणारी key row दिलेली असते. Esc चालू response ला interrupt करते आणि आतापर्यंत झालेले काम ठेवते. Ctrl+C देखील interrupt करते. मात्र idle prompt वर ते दोनदा दाबल्यास Claude Code बंद होते. त्यामुळे प्रथम Esc वापरा.
यासाठी SSH internet वर उघडे ठेवणे पुरेसे सुरक्षित आहे का?
Password authentication बंद असल्यास यशस्वी होऊ शकणारे एकमेव credential म्हणजे तुमच्या devices मधून बाहेर न जाणारी key. Rebuild करता येणाऱ्या machine साठी हा वाजवी धोका आहे. प्रत्येक device साठी स्वतंत्र key द्या. त्यामुळे फोन हरवल्यास authorized_keys मधील फक्त एक line काढावी लागेल. Public port वर उत्तर द्यायचेच नसेल, तर machine WireGuard मागे ठेवा आणि sshd ने tunnel address वर listen करावे.