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) 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.
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:
- ChatGPT → Workspace Settings
- Permissions & Roles
- 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 # → 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, 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 -yA 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 | shEzután lépj ki, és lépj be újra, hogy a terminál megtalálja az új codex parancsot:
exitssh {{USER}}@{{IP}}
codex --versionFrissí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- A szerveren nincs böngésző, ezért a Codex kiír egy linket és egy egyszer használatos kódot.
- Nyisd meg a linket a laptopodon vagy a telefonodon, lépj be a ChatGPT-fiókoddal, és írd be a kódot.
- Ellenőrzés:
codex login status
04. lépésProjektmappa és első indítás
mkdir -p ~/{{DIR}}
cd ~/{{DIR}}
codexElső 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 startEz 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 pairEz kiír egy rövid párosító kódot. Pár percig érvényes, ezért rögtön használd:
- Nyisd meg a ChatGPT appot a telefonodon, ugyanazzal a fiókkal (és workspace-szel), amivel a szerveren beléptél.
- Menj a Codex részbe, azon belül a távoli eszközökhöz (Remote), és adj hozzá egy új kapcsolatot.
- Válaszd a kézi párosítást, és írd be a kódot.
- 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éstHa 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 →