SSD Nodes Learn RAM 8GB — $66/mwaka
Mwongozo Matt ConnorNa Matt Connor · Imeboreshwa 2026-08-01

Jinsi ya kutumia Claude Code kutoka kwenye simu

Claude Code huendeshwa kwenye VPS ndani ya tmux; simu ni dirisha tu. Jifunze SSH keys, mosh, tmux attach na marekebisho ya kibodi kwa simu.

Claude Code kutoka kwenye simu: jinsi inavyofanya kazi kwa kweli

Claude Code kutoka kwenye simu si programu ya simu. Claude Code huendeshwa kwenye VPS (virtual private server), ndani ya kikao cha tmux kinachoendelea kubaki wazi, na simu yako hufungua muunganisho wa SSH (secure shell) kwenye kikao hicho kwa muda wote unapokitazama. Ukifunga programu, agenti huendelea kufanya kazi kwa sababu mchakato haukuwahi kuendeshwa kwenye simu.

Mgawanyo huo ndio msingi wa muundo mzima. Mfumo wa uendeshaji wa simu husimamisha programu sekunde chache baada ya kuondoka humo, kwa hiyo kazi yoyote ndefu iliyoanzishwa kwenye simu husimama. Pia simu hupata anwani mpya ya mtandao kila unapohama kutoka wifi kwenda data ya simu. Matatizo yote mawili huondoka mchakato unapotekelezwa kwenye seva na simu ikaonyesha tu skrini.

Unahitaji vitu vinne kwenye seva: tmux ili kuhifadhi kikao, funguo za SSH ili kuingia, mosh kwa ajili ya mabadiliko ya mtandao, na Claude Code yenyewe. Upande wa simu unahitaji programu moja ya terminal yenye safu ya funguo unayoweza kufikia.

Unachohitaji kwenye VPS

Seva ndogo ya Ubuntu 24.04 inatosha kwa sehemu za SSH na tmux. Claude Code inahitaji zaidi. Mahitaji rasmi kufikia Julai 2026 ni Ubuntu 20.04 au toleo jipya zaidi kwenye kichakataji cha x64 au ARM64, pamoja na RAM ya GB 4 au zaidi. Mpango wa GB 1 husakinisha programu, lakini kernel huiondoa mchakato inapokuwa chini ya mzigo. Claude Code pia inahitaji akaunti ya Claude inayolipiwa (Pro, Max, Team au Enterprise), au akaunti ya Console yenye ufikiaji wa API, kwa sababu mpango wa bila malipo wa Claude.ai hauijumuishi.

Sanidi seva kama mtumiaji wa kawaida aliye na sudo, si kama root. Ikiwa seva ni mpya, pitia dakika kumi za kwanza kwenye VPS mpya kwanza, kwa sababu mabadiliko ya SSH yatakayofuata kwenye mwongozo huu ni rahisi zaidi baada ya mtumiaji na firewall kuwepo.

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

Kisakinishi huweka binary kwenye ~/.local/bin/claude, na claude --version huchapisha mstari kama 2.1.211 (Claude Code). Ikiwa kitachapisha command not found, saraka hiyo bado haipo kwenye PATH yako: toka kwenye akaunti, ingia tena, kisha kagua kwa command -v claude. claude doctor huchapisha uchunguzi wa usakinishaji na mipangilio bila kuanzisha session.

Ingia mara moja sasa, kutoka kwenye kompyuta mpakato, kabla hujaitegemea simu. Tekeleza claude kwenye saraka ya mradi na ufuate ombi la kuingia. Mchakato huo unakuomba ufungue URL kwenye browser na urudishe code kwenye terminal. Kufanya hivyo kwa kubadilisha kati ya programu mbili kwenye skrini ya simu ni polepole. Fanya mara moja kwa kutumia keyboard halisi, kisha taarifa za uthibitishaji zitabaki kwenye seva.

Anzisha Claude Code ndani ya tmux ili muunganisho ukikatika usiisimamishe

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

Jitenganishe kwa kutumia Ctrl-b kisha d. tmux huchapisha [detached (from session claude)] na kukurudisha kwenye shell. Sasa unaweza kufunga programu, kupoteza mawimbi, au kuweka simu mfukoni. Kidirisha kitaendelea kufanya kazi.

tmux ls
tmux attach -t claude

tmux ls huchapisha mstari mmoja kwa kila session, kama vile claude: 1 windows (created Thu Jul 30 09:14:02 2026). tmux attach -t claude hukurudisha mahali pale pale ulipoishia, ikijumuisha uhariri ambao haujakamilika.

Hii hufanya kazi kwa sababu tmux huendesha mchakato wake wa server, na shell yako pamoja na Claude Code ni michakato tanzu ya server hiyo badala ya kuwa michakato tanzu ya sshd. Muunganisho wa SSH unapomalizika, kernel hutuma ishara ya kukatika, SIGHUP, kwa michakato iliyounganishwa na muunganisho huo, lakini tmux server si miongoni mwa michakato hiyo. Bila tmux, kufuli ile ile ya skrini inayokatiza muunganisho wako humsitisha Claude Code katikati ya mwito wa zana. Kuendesha Claude Code kwenye VPS ndani ya tmux inaeleza kwa undani zaidi mpangilio wa session.

Endesha tmux kwenye server, kamwe si kwenye simu. Kuandika tmux ndani ya session ambayo tayari umeunganishwa nayo huchapisha sessions should be nested with care, unset $TMUX to force, na kulazimisha amri hiyo hukupa vitufe viwili vya prefix vya kushindania.

Kujiambatisha kiotomatiki kila unapoingia

Kuandika amri ya kujiambatisha kwa kutumia kibodi ya kugusa huchosha. Weka hii mwishoni mwa ~/.profile kwenye seva:

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 hujiambatisha kwenye kipindi kinachoitwa claude ikiwa kipo, na hukiumba ikiwa hakipo. Hivyo, amri moja hushughulikia hali zote mbili. exec hubadilisha shell ya kuingia kuwa tmux, kwa hiyo ukitoka kwenye tmux muunganisho hufungwa badala ya kukuacha kwenye kidokezo tupu. Unapohitaji shell ya kawaida, ruka faili hiyo: ssh you@server -t "bash --noprofile".

Weka hii kwenye ~/.profile, si kwenye ~/.bashrc. ~/.bashrc huendeshwa pia kwa vipindi visivyo vya mwingiliano, hivyo uhamishaji wa faili huvurugika: scp na sftp husoma matokeo yasiyotarajiwa kama data ya itifaki na hushindwa kwa Received message too long. ~/.profile huendeshwa kwa shell za kuingia pekee, ambacho ndicho kinachotumika na kipindi shirikishi cha SSH.

~/.profile pia ndipo Ubuntu huongeza ~/.local/bin kwenye PATH. Ikiwa claude inafanya kazi mara tu baada ya kuingia lakini shell iliyo ndani ya tmux inasema command not found, mpangilio huo ndio sababu. Kwa hiyo, anzisha tmux kutoka kwenye shell ya kuingia kama ilivyo hapo juu, badala ya kutoka kwenye script inayoruka wasifu.

Programu zote mbili hutumia SSH na mosh, na zote huhifadhi funguo ndani ya programu. Tofauti iko kwenye kiolesura.

Blink Shell inaendeshwa kwa amri. Kwenye kidokezo chake, unaandika ssh you@server au mosh you@server, kwa sintaksia ileile ya terminali ya kompyuta. Mipangilio hufunguliwa kwa kuandika config, na sehemu ya Keys hukuundia jozi ya funguo.

Termius inaendeshwa kwa kujaza fomu. Unajaza ingizo la seva mwenyeji, kisha unabadilisha seva hiyo kutoka SSH hadi Mosh katika maelezo ya seva mwenyeji. Termius husambaza utekelezaji wake wa mosh na inatumia mosh 1.3.0 na matoleo mapya zaidi, kwa hiyo seva bado inahitaji kifurushi cha mosh kisakinishwe.

Unda ufunguo ndani ya programu katika hali zote mbili, na usiwahi kunakili ufunguo binafsi uliopo kwenye simu. Programu hukuonyesha nusu ya umma, ambayo ndiyo mstari mmoja unaoongeza kwenye ~/.ssh/authorized_keys kwenye seva. Funguo za SSH kwa kila kifaa na jinsi ya kubatilisha mmoja inaeleza kanuni za kuweka majina na hatua ya kubatilisha, ambayo ni muhimu zaidi kwa simu kuliko kompyuta mpakato.

Washa kifunga cha kibayometriki au cha msimbo wa siri cha programu ya terminali. Bila kifunga hicho, simu iliyofunguliwa huwa shell iliyo wazi kwenye seva yako kwa muda wote ambao skrini inaendelea kuwaka.

Android: Termux

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

Termux hujumuisha OpenSSH na mosh katika hazina yake, kwa hiyo ssh, ssh-keygen na mosh hufanya kazi kama kwenye kompyuta ya mezani. Ongeza mstari wa ufunguo wa umma uliochapishwa kwenye ~/.ssh/authorized_keys kwenye seva, kisha uunganishe kwa kutumia mosh you@server.

Kibodi ya skrini ya Android haina kitufe cha Esc wala kitufe cha Ctrl, na Claude Code inahitaji vyote viwili. Termux inaweza kuonyesha safu yake ya vitufe. Weka mstari mmoja katika ~/.termux/termux.properties:

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

Kisha endesha termux-reload-settings, na safu hiyo itaonekana juu ya kibodi. Upakiaji huo huo utatumia fonti ya monospace ya TrueType iliyowekwa katika ~/.termux/font.ttf.

Android inaweza kusimamisha Termux inapokuwa nyuma ya pazia, na hapa hilo halikusababishii hasara yoyote isipokuwa kuunganisha tena. Kikao na wakala viko kwenye seva.

Kwa nini terminali huganda ninapoondoka kwenye wifi, na mosh hutatua nini?

Muunganisho wa SSH ni muunganisho wa TCP (transmission control protocol), na muunganisho wa TCP hutambuliwa kwa anwani zote mbili na port zote mbili. Unapotoka nje ya masafa ya wifi, simu hupata anwani mpya kutoka kwenye mtandao wa simu, kwa hiyo muunganisho wa zamani haulingani na kitu chochote upande wowote. Hakuna kinachotangaza mabadiliko hayo. Terminali huacha tu kujibu hadi TCP ikate tamaa, kisha ssh huchapisha client_loop: send disconnect: Broken pipe. Ili kukatisha mara moja session iliyoganda, bonyeza Enter, kisha ~, kisha ..

mosh (mobile shell) huondoa hali hiyo ya kushindwa. Hutumia SSH mara moja kuingia na kuanzisha mchakato wa mosh-server, husoma port ya UDP (user datagram protocol) iliyochaguliwa na server, kisha hufunga muunganisho wa SSH. Baada ya hapo, pande hizo mbili hubadilishana datagramu za UDP zilizothibitishwa kwa session key ya pamoja. Hivyo session hutambuliwa kwa key hiyo, si kwa anwani yako. Anwani mpya inaendelea kubeba session hiyo. mosh pia huonyesha unachoandika ndani ya kifaa, kisha huchora upya skrini server inapotoa jibu tofauti. Ndiyo sababu hubaki kutumika kwenye muunganisho wa simu wa polepole.

mosh hutumia port ya UDP kati ya 60000 na 61000, kwa hiyo fungua masafa hayo:

sudo ufw allow 60000:61000/udp
sudo ufw status

Kufungua port kwa ufw inaeleza sehemu iliyobaki ya usanidi wa firewall. Ikiwa mtoa huduma wako anatoa firewall tofauti ya mtandao katika control panel yake, ongeza masafa hayo pia huko. Sheria ya ufw haiwezi kuathiri kichujio kilicho mbele ya mashine.

Kuna kushindwa kwa mosh mara mbili kunakotokea mara nyingi. Kuingia kunakofanikiwa kisha session kuning’inia na kuonyesha Nothing received from server on UDP port 60001. kunamaanisha kuwa masafa hayo ya UDP yamezuiwa mahali fulani kati ya simu na server. Muunganisho unaoripoti mosh-server not found unamaanisha kuwa package haipo kwenye server au haipo kwenye login PATH. Isakinishe, au ielekeze moja kwa moja kwa kutumia mosh --server=/usr/bin/mosh-server you@server.

mosh pia hukataa kufanya kazi wakati locale ya login si UTF-8, na huonyesha ujumbe huo: mosh-server needs a UTF-8 native locale to run. Rekebisha locale kwenye server, si kwenye simu.

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

Kuna mambo mawili ambayo mosh haifanyi. README yake inaeleza kuwa mosh haitumii X forwarding au matumizi yasiyo ya maingiliano ya SSH, yakiwemo port forwarding. Kwa hiyo, kuonyesha awali web app ambayo Claude Code imeanzisha bado kunahitaji ssh -L 8080:127.0.0.1:8080 you@server ya kawaida. Pia husawazisha skrini inayoonekana pekee, kwa hiyo haina scrollback yake. Kikomo hicho cha pili hakileti tatizo hapa, kwa sababu tmux huhifadhi scrollback: Ctrl-b kisha [ huingia kwenye copy mode, kuburuta au kutumia vitufe vya mishale husogeza maandishi, na q hutoka.

Kufanya skrini ya simu itumike

Mistari minne katika ~/.tmux.conf kwenye seva hufanya sehemu kubwa ya kazi:

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

mouse on hubadilisha kuburuta kwa kugusa kuwa kusogeza na kugusa mara moja kuwa kuchagua kidirisha au dirisha. Hii huondoa hitaji la kubonyeza vitufe vingi vya prefix ambavyo ni vigumu kuandika. status-position top husogeza mstari wa hali wa tmux kutoka ukingo wa chini, ambapo kibodi ya skrini na upau wake wa mapendekezo huufunika. default-terminal ni muhimu kwa sababu bila hiyo tmux huitangaza screen terminal kwa Claude Code, na rangi pamoja na michoro ya visanduku huonekana vibaya kuliko inavyohitajika. Ikiwa tmux inakataa kuanza na missing or unsuitable terminal: tmux-256color, ingizo la terminfo halipo: sudo apt install ncurses-term.

Jifunze vitufe vinne, kisha matumizi mengine yatakuwa rahisi.

  • Esc hukatiza Claude wakati wa kujibu na huhifadhi kazi iliyokamilishwa. Hivyo, hiki ndicho kitufe unachotaka kuwa karibu zaidi na kidole gumba.
  • Ctrl+C pia hukatiza operesheni inayoendelea. Kwenye kidokezo kisicho na shughuli, kubonyeza mara ya kwanza hufuta ingizo, na kubonyeza mara ya pili hutoka kwenye Claude Code. Kwa hiyo, hiki ni chaguo kali zaidi.
  • Esc mara mbili hufuta kidokezo kilichoandaliwa. Kwenye kidokezo kisicho na maandishi, badala yake hufungua menyu ya kurejesha nyuma.
  • Kwa kidokezo cha mistari mingi, andika \ kisha ubonyeze Enter. Njia hii hufanya kazi katika terminal yoyote. Shift+Enter hufanya kazi moja kwa moja katika orodha fupi tu ya terminal za kompyuta za mezani, na clients za simu hazimo kwenye orodha hiyo.

Epuka kugawanya vidirisha. Simu iliyowekwa wima huwa na upana wa takribani safu 40, kwa hiyo mgawanyo wa wima huacha safu 20 kwa kila kidirisha na kila diff hufunga mistari hadi kuwa maandishi yasiyoeleweka. Tumia windows za tmux badala yake: Ctrl-b c huunda moja, na Ctrl-b n huenda kwenye inayofuata. Geuza simu upande unapohitaji kusoma diff vizuri.

Kipindi kirefu kwenye skrini ndogo huwa hasa tatizo la muktadha. Kwa hiyo, kusimamia dirisha la muktadha la Claude Code ni muhimu kusoma kabla ya kujaribu kufanya kazi ya siku nzima ukiwa kwenye treni.

Imarisha usalama: funguo pekee, bila manenosiri

Simu sasa ina ufunguo wa mashine inayohariri msimbo wako na kutekeleza amri. Zima uthibitishaji wa kutumia manenosiri. Faili ya ziada ni salama zaidi kuliko kuhariri sshd_config moja kwa moja, kwa sababu sshd_config ya Ubuntu inajumuisha /etc/ssh/sshd_config.d/*.conf juu ya faili, na thamani ya kwanza inayopatikana kwa mpangilio ndiyo inayotumika.

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 huchanganua usanidi na haitoi kitu chochote ikiwa ni sahihi. Ukiruka hatua hii, kosa moja la kuandika litasababisha sshd kushindwa inapopakia upya. Acha kipindi chako cha sasa kikiwa wazi na ujaribu kutoka kwenye muunganisho wa pili kabla ya kufunga chochote, kwa sababu ufunguo usio sahihi utakupa Permission denied (publickey)., na ukiwa umezima manenosiri hakutakuwa na njia mbadala. Njia ya kurejesha ufikiaji wakati huo ni kutumia console ya mtoa huduma wako.

Mpe kila kifaa ufunguo wake. Ukipoteza simu, utahitaji kufuta mstari mmoja tu kutoka ~/.ssh/authorized_keys, na laptop yako itaendelea kufanya kazi. Ufunguo mmoja ulioshirikiwa unamaanisha kubadilisha ufunguo kwenye kila kifaa unachomiliki.

Ukihamisha SSH kwenye port nyingine katika Ubuntu 24.04, kumbuka kuwa listener ni ya ssh.socket, kwa hiyo mstari wa Port pekee haubadilishi chochote. Tekeleza sudo systemctl edit ssh.socket, ondoa thamani ya msingi kwa kuweka ListenStream= tupu, kisha weka port yako kwenye mstari unaofuata. Kuimarisha usalama wa SSH kwenye VPS kunaeleza hilo na sehemu nyingine za eneo la mashambulizi.

fail2ban kwa SSH huongeza usalama kidogo tu baada ya kuzima manenosiri, kwa sababu nenosiri linalokisiwa haliwezi kukubaliwa kabisa. Kinachoongezeka ni kumbukumbu tulivu, jambo linalorahisisha kugundua jaribio halisi la kuingia.

Chaguo salama zaidi ni kuzuia SSH isipatikane kwenye intaneti ya umma. Weka server nyuma ya WireGuard VPN unayojipangia mwenyewe, washa tunnel kwenye simu unapohitaji, na mpe sshd ListenAddress kwenye tunnel pekee. mosh hufanya kazi kupitia tunnel kwa sababu pande zote mbili hutumia UDP. Tahadhari moja: tunnel huongeza ukubwa wa pakiti, kwa hiyo uhamishaji mkubwa ukikwama, punguza MTU (maximum transmission unit) kwenye usanidi wa WireGuard wa simu.

Jambo la mwisho kuhusu kufanya kazi kwa njia hii. Ukiwa kwenye simu, unaidhinisha maombi ya ruhusa kwenye skrini inayoonyesha mistari michache ya diff kwa wakati mmoja. Hiyo ni sababu ya kuweka vizuizi vya usalama, si kuviondoa. Kuendesha Claude Code kwa usalama kwenye VPS kunaeleza mipaka ya mtumiaji na saraka inayofaa kuweka kabla njia yako kuu ya kuingia haijawa skrini ya kugusa.

Unapoambatanisha tena na kuna tatizo

tmux attach ikionyesha no server running on /tmp/tmux-1000/default inamaanisha seva ya tmux haipo. Mara nyingi hii inamaanisha mashine iliwashwa upya. Kagua kwa uptime. Masasisho ya kernel kutoka masasisho ya usalama ya kiotomatiki huwasha upya mfumo. Mfumo uliowashwa upya hauna session ya tmux. Kwa hiyo, chukulia kila utekelezaji wa Claude Code kuwa unaweza kuanzishwa tena.

can't find session: claude ni tofauti. Seva ya tmux inaendelea kufanya kazi, lakini jina hilo halipo. tmux ls huonyesha vilivyopo.

Ukiambatanisha na ukapata prompt ya kawaida ya shell mahali ambapo Claude Code ilikuwepo, mchakato uliisha bila session kuisha. Angalia dmesg -T | tail ili kupata mstari kama Out of memory: Killed process 4821 (claude). Hivi ndivyo mfumo ulio chini ya hitaji la 4 GB hufanya wakati wa uhariri mkubwa. Ikiwa mstari huo haupo, Claude Code ilitoka yenyewe. Scrollback ya shell iliyo juu ya prompt ina sababu.

Window inayorudi ikiwa ndogo, huku kukiwa na nafasi isiyotumika pembeni, inamaanisha clients wawili wameambatanishwa kwa ukubwa tofauti. tmux hupanga ukubwa wa window kulingana na client ndogo zaidi iliyoambatanishwa. Laptop yako bado inashikilia session ikiwa na upana wa columns 200, huku simu ikiomba 40. Watenganishe clients wengine unapombatanisha: tmux attach -d -t claude.

FAQ

Je, ninaweza kuendesha Claude Code kwenye simu yenyewe badala ya VPS?

Hapana. Kufikia July 2026, mifumo inayotumika ni macOS, Windows, Ubuntu 20.04 au mpya zaidi, Debian 10 au mpya zaidi, na Alpine 3.19 au mpya zaidi, ikiwa na RAM ya 4 GB au zaidi. Android na iOS hazipo kwenye orodha hiyo. Simu pia huweka programu katika hali ya usingizi na hubadilisha anwani ya mtandao mara kwa mara. Hali hiyo haifai kwa uendeshaji mrefu wa wakala. Iendeshe kwenye server na utumie simu kama skrini.

Je, session itaendelea nikifunga programu au nikipoteza mawimbi?

Ndiyo. Vipengele viwili tofauti hufanya kazi hiyo. tmux huendelea kuendesha mchakato kwenye server, kwa hiyo hakuna kinachozimika muunganisho unapokatika. mosh huweka muunganisho wenyewe ukiendelea wakati anwani inabadilika, kwa hiyo kubadili kutoka wifi kwenda data ya simu hakulazimishi hata uunganishe tena. Kwa SSH ya kawaida bila tmux, muunganisho ukikatika hutuma SIGHUP na Claude Code husitisha kazi katikati.

Kwa nini mosh inaunganisha kisha haionyeshi chochote?

Kuingia kunakofaulu kisha mchakato kuganda ukiwa na Nothing received from server on UDP port 60001. kunamaanisha kuwa UDP 60000 hadi 61000 haijafunguliwa. Ongeza masafa hayo katika ufw. Yaongeze tena katika firewall ya mtandao ya mtoa huduma wako, ambayo kwa kawaida ni udhibiti tofauti kwenye paneli nyingi. Ikiwa mosh badala yake inaripoti kuwa mosh-server haikupatikana, server haina package hiyo: sudo apt install mosh.

Ninawezaje kusitisha Claude Code kwa keyboard isiyo na kitufe cha Esc?

Ongeza safu ya vitufe. Termux huweka safu hiyo kwa extra-keys katika ~/.termux/termux.properties, na Termius pamoja na Blink zote huja na safu unayoweza kuhariri kwenye mipangilio. Esc husitisha jibu linaloendelea na huhifadhi kazi iliyokamilika. Ctrl+C pia husitisha, lakini ukibonyeza mara mbili kwenye kidokezo kisichokuwa na kazi, hutoka kwenye Claude Code. Kwa hiyo, tumia Esc kwanza.

Je, kufungua SSH kwa intaneti ni salama vya kutosha kwa hili?

Uthibitishaji wa nenosiri ukiwa umezimwa, kitambulisho pekee kinachoweza kufanikiwa ni key ambayo haiondoki kwenye vifaa vyako. Hii ni hatari inayokubalika kwa mashine unayoweza kujenga upya. Tengezea kila kifaa key yake ili simu iliyopotea ikusababishie kuondoa mstari mmoja tu katika authorized_keys. Ikiwa hutaki kabisa kujibu kwenye port ya umma, weka mashine nyuma ya WireGuard na uruhusu sshd isikilize kwenye anwani ya tunnel.