Ubuntu · Claude Code · tmux · Remote Control

Claude Code a saját szervereden (bárhonnan, bármikor, bármilyen eszközről elérhető)

Telepítsd a Claude Code-ot egy saját felhő alapú VPS-re (remote linux szerver), és vezéreld a számítógépedről, böngészőből vagy akár a telefonodról. A Claude Code a szerveren dolgozik akkor is, ha a laptopod le van csukva. De természetesen bármikor le tudod állítani vagy újra tudod indítani.

Ezt a beállítást használjuk a Kódolás Vibe-Codereknek kurzusban és a Data36-os webináriumokban is. Az egész setup kb. 15 perc, ha már van szervered.

  • Sötét blokkok: parancsok. A címkéjük megmondja, hol futtasd: saját gép (a laptopod terminálja) vagy szerver.
  • A zöld részek a lenti mezőkből jönnek, és gépelés közben frissülnek. A Másolás gomb már a te értékeiddel másol.

A te értékeid

Írd be a sajátjaidat; a parancsok lent azonnal frissülnek. A böngésződ megjegyzi őket.

Ha nincs saját szervered, menj végig ezen a hat lépésen is. Ha van, ezt a részt kihagyhatod

Szerver 1DigitalOcean-fiók létrehozása

Regisztrálj a DigitalOceanen. A regisztrációhoz bankkártya kell, a szerverért pedig óradíjat fizetsz, amíg létezik.

Utána töltsd fel az SSH-kulcsodat (Settings → Security → Add SSH Key). Ha még nincs SSH-kulcsod a gépeden, a DigitalOcean ezen az oldalon lépésről lépésre megmutatja, hogyan készíts egyet.

Szerver 2Droplet létrehozása a DigitalOceanen

A DigitalOcean webes felületén: Create → Droplets.

  • Image: Ubuntu 26.04 (LTS) x64
  • Méret: 1 vCPU / 2 GB bőven elég az AI-ügynöknek. Az aktuális árat a felület mutatja.
  • Régió: FRA1 (Frankfurt, közel van Magyarországhoz)
  • Belépés: csak SSH-kulccsal (az 1. lépésben feltöltött kulcs), soha ne jelszóval
  • Backup: bekapcsolva (a heti mentés a gép árának 20%-a)
  • Hostname: olyan név, amit a listában és a parancssorban is felismersz

A létrehozás után másold ki a droplet IP-címét, és írd be fent, a Szerver IP-címe mezőbe.

Szerver 3Saját felhasználó root helyett

Ne rootként dolgozz. Ezt a root ablakot hagyd nyitva, amíg a Szerver 5. lépés nem sikerül.

ssh root@{{IP}}
adduser {{USER}}                 # erős jelszó, mentsd jelszókezelőbe (a sudo kéri)
usermod -aG sudo {{USER}}
rsync --archive --chown={{USER}}:{{USER}} /root/.ssh /home/{{USER}}

Az rsync átmásolja a felhasználódnak az SSH-kulcsot, amit a DigitalOcean a rootnak tett be. Próbáld ki egy második terminálablakból:

ssh {{USER}}@{{IP}}
sudo whoami                      # → root

Szerver 4Frissítések, automatikus biztonsági javítások, swap

sudo apt update && sudo apt full-upgrade -y
sudo timedatectl set-timezone Europe/Budapest
sudo apt install unattended-upgrades mc tmux -y
sudo dpkg-reconfigure -plow unattended-upgrades   # válasz: Yes

Az unattended-upgrades naponta magától felteszi a biztonsági javításokat. Az mc egy barátságos szövegszerkesztőt ad (mcedit: F2 mentés, F10 kilépés), a tmux-ra pedig később lesz szükség.

2 GB swap (tartalék memória)

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -h                          # a Swap sorban 2.0Gi

Szerver 5SSH lezárása: csak kulccsal, root nélkül

A legkényesebb lépés: a két terminálablak maradjon nyitva.

Egy új fájlba írd be ezt a négy sort. A 00- eleje miatt ez a fájl minden más SSH-beállítás előtt töltődik be, így ez nyer:

sudo mcedit /etc/ssh/sshd_config.d/00-hardening.conf
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
sudo sshd -t && sudo systemctl reload ssh
sudo sshd -T | grep -Ei '^(permitrootlogin|passwordauthentication|kbdinteractiveauthentication|pubkeyauthentication) '

Az utolsó parancs ezt írja ki: no no no yes. Egy harmadik ablakból: az ssh {{USER}}@{{IP}} működik, az ssh root@{{IP}} pedig Permission denied hibát ad. Ezután bezárhatod a root ablakot.

Szerver 6Tűzfal és fail2ban

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH           # az enable ELŐTT, különben kizárod magad
sudo ufw enable
sudo ufw status verbose

Kívülről csak az SSH érhető el. Az AI-ügynöknek ez elég: a távoli vezérlés kifelé induló kapcsolattal működik, bejövő portot nem nyit. Ha később weboldalt is futtatsz a gépen, nyisd meg a 80/tcp és 443/tcp portot is.

A fail2ban kitiltja azokat az IP-címeket, amelyek sorozatban rossz belépéssel próbálkoznak:

sudo apt install fail2ban -y
printf '[sshd]\nenabled = true\nmaxretry = 5\nfindtime = 10m\nbantime = 1h\n' | sudo tee /etc/fail2ban/jail.local
sudo systemctl enable --now fail2ban
sudo systemctl restart fail2ban
sleep 3; sudo fail2ban-client status sshd

Ha a szerver alapozásának teljes, részletes változatát (Nginx, weboldal, TLS, monitorozás) is szeretnéd, az a Kódolás Vibe-Codereknek kurzus része.

01. lépésBelépés a szerverre

ssh {{USER}}@{{IP}}

Ne rootként dolgozz: a Claude Code a felhasználód jogaival fut, így soha nem tehet többet, mint te. Ha csak rootként tudsz belépni, előbb csináld meg a Szerver 3. lépést (a fenti szerver-beállításban).

02. lépésClaude Code telepítése

curl -fsSL https://claude.ai/install.sh | bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
claude --version

A hivatalos telepítő a saját mappádba (~/.local/bin) teszi a programot, sudo nélkül, és a háttérben magától frissíti. A második sor gondoskodik róla, hogy a claude parancsot minden belépés után megtalálja a rendszer.

03. lépésBejelentkezés a Claude-fiókoddal

claude
  1. Válaszd a Claude account with subscription lehetőséget (nem az API-kulcsosat).
  2. A szerveren nincs böngésző, ezért a Claude kiír egy hosszú linket. Másold ki, nyisd meg a laptopod böngészőjében, és engedélyezd a belépést.
  3. A böngésző egy kódot mutat. Másold vissza a terminálba, és nyomj Entert.

Ha bent vagy, írd be, hogy /exit. A következő lépésben már a projektmappában indítod.

04. lépésProjektmappa

mkdir -p ~/{{DIR}}
cd ~/{{DIR}}

Mindig abban a mappában indítsd a Claude-ot, amin dolgozni szeretnél: ezt a mappát látja és ebben dolgozik. Ha nem a saját home mappádban van a projekt (pl. /var/www/…), a cd után az a mappa jöjjön.

05. lépésIndítás tmux-ban, távvezérléssel

Ha simán indítod, a Claude leáll, amikor bontod az SSH-kapcsolatot vagy lecsukod a laptopot. A tmux egy terminál, ami a szerveren tovább fut akkor is, amikor te már kiléptél.

tmux new -s {{NAME}}
claude --remote-control "{{NAME}}"
  • Ha a tmux parancs nem létezik: sudo apt install tmux -y, aztán újra.
  • Első indításkor a Claude megkérdezi, megbízol-e ebben a mappában (igen), és egyszer azt is, bekapcsolja-e a távvezérlést (Enable Remote Control).
  • Ha minden rendben, a Claude alján megjelenik a Remote Control jelzés.

06. lépésVezérlés telefonról vagy böngészőből

  • Telefon: nyisd meg a Claude appot (iOS vagy Android), alul koppints a Code fülre. A munkameneted ott van {{NAME}} néven, egy számítógép ikonnal és zöld ponttal.
  • Böngésző: claude.ai/code, ugyanazzal a fiókkal.
  • QR-kód: a szerveren írd be a Claude-nak, hogy /remote-control. Ez kiírja a munkamenet linkjét és egy QR-kódot, amit a telefonod kamerájával beolvashatsz.

Bárhonnan írhatsz neki: a laptopról, a telefonról és a böngészőből ugyanazt a beszélgetést látod. A kód és a fájlok közben végig a szervereden maradnak, és a szerver csak kifelé kapcsolódik, nem nyit portot.

Ha még nincs Claude app a telefonodon: a szerveren írd be, hogy /mobile, és egy QR-kód a megfelelő app store-ba visz.

07. lépésKilépés és visszatérés

Kilépés úgy, hogy Claude tovább dolgozik

Nyomd meg a Ctrl-b-t, engedd el, majd nyomd meg a d-t. Ezzel kiléptél a tmux-ból, de az fut tovább. Most már bezárhatod a terminált, és lecsukhatod a laptopot: a telefonról folytathatod.

Visszatérés a terminálba

ssh {{USER}}@{{IP}}
tmux attach -t {{NAME}}

Szerver-újraindítás után

Újraindításkor a tmux és vele a Claude is leáll. Indítsd újra, és folytasd a legutóbbi beszélgetést:

tmux new -s {{NAME}}
cd ~/{{DIR}}
claude --continue

Ha a távvezérlés ilyenkor nem kapcsol vissza magától, írd be, hogy /remote-control.

Ez csak az első lépés

A Kódolás Vibe-Codereknek kurzuson hasonló AI-agentekkel építünk működő és üzletileg is hasznos automatizációkat, weblapokat, webappokat, data science megoldásokat, stb. Tisztán, részletesen, lépésről-lépésre videón magyarázok el mindent. Kezdők számára is tökéletes. Teljes tematika egy kattintásnyira innen:

A kurzus részletes leírása →