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) vagyszerver. - 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.
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 # → rootSzerver 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: YesAz 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.0GiSzerver 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.confPermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yessudo 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 verboseKí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 sshdHa 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 --versionA 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- Válaszd a Claude account with subscription lehetőséget (nem az API-kulcsosat).
- 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.
- 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
tmuxparancs 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 --continueHa 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 →