Ubuntu · OpenAI Codex CLI · Remote Control · ChatGPT app

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

Telepítsd a Codexet 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 Codex 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.

00. lépés (csak céges/workspace fióknál)Távoli eszközök engedélyezése a ChatGPT-ben

Ha a ChatGPT-fiókod egy workspace-hez tartozik (Business, Enterprise, Edu), a workspace adminjának egyszer be kell kapcsolnia a távvezérlést:

  1. ChatGPT → Workspace Settings
  2. Permissions & Roles
  3. Kapcsold be: Allow members to discover and control devices remotely

Saját, egyéni előfizetésnél (Plus, Pro) ezt a lépést kihagyhatod.

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, bubblewrap

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

Ne rootként dolgozz: a Codex a felhasználód jogaival fut. 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).

sudo apt update
sudo apt install bubblewrap -y

A bubblewrap egy elzárt „homokozó”: Linuxon ebben futtatja a Codex a parancsait, hogy ne nyúlhasson ahhoz, amihez nem kell. Nélküle a telefonos mappaválasztás is hibát ad.

02. lépésCodex telepítése

curl -fsSL https://chatgpt.com/codex/install.sh | sh

Ezután lépj ki, és lépj be újra, hogy a terminál megtalálja az új codex parancsot:

exit
ssh {{USER}}@{{IP}}
codex --version

Frissíteni ugyanezzel a telepítő paranccsal tudsz. Érdemes egy új funkció (például a távvezérlés) előtt lefuttatni.

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

codex login --device-auth
  1. A szerveren nincs böngésző, ezért a Codex kiír egy linket és egy egyszer használatos kódot.
  2. Nyisd meg a linket a laptopodon vagy a telefonodon, lépj be a ChatGPT-fiókoddal, és írd be a kódot.
  3. Ellenőrzés: codex login status

04. lépésProjektmappa és első indítás

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

Első indításkor a Codex megkérdezi, megbízol-e ebben a mappában: igen. Kérj tőle valami aprót (pl. „Mi van ebben a mappában?”), hogy lásd, működik. Utána lépj ki: /exit, vagy kétszer Ctrl-c.

05. lépésRemote Control indítása

codex remote-control start

Ez a háttérben elindít egy kis Codex-szolgáltatást, ami a ChatGPT felé kapcsolódik. Csak kifelé kapcsolódik, a szerveren nem nyit portot, így a tűzfalon sem kell semmit állítani. Nyugodtan futtathatod többször is: ha már fut, nem indít még egyet.

06. lépésPárosítás a telefonnal

codex remote-control pair

Ez kiír egy rövid párosító kódot. Pár percig érvényes, ezért rögtön használd:

  1. Nyisd meg a ChatGPT appot a telefonodon, ugyanazzal a fiókkal (és workspace-szel), amivel a szerveren beléptél.
  2. Menj a Codex részbe, azon belül a távoli eszközökhöz (Remote), és adj hozzá egy új kapcsolatot.
  3. Válaszd a kézi párosítást, és írd be a kódot.
  4. Projektmappának válaszd ezt: /home/{{USER}}/{{DIR}}

Ha lejárt a kód, futtasd újra a codex remote-control pair parancsot.

07. lépésNapi használat

Mostantól a ChatGPT appban, a Codex részben írsz a szerverednek. Kiléphetsz az SSH-ból, és lecsukhatod a laptopot: a Codex a szerveren dolgozik tovább.

codex remote-control start       # szerver-újraindítás után újra el kell indítani
codex remote-control stop        # leállítja a távvezérlést

Ha a telefon nem éri el a szervert: codex remote-control stop, majd codex remote-control start. Ha ez sem segít, frissítsd a Codexet a 2. lépés telepítő parancsával.

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 →