Claude Code és ChatGPT Codex telepítése Linux-szerverre: lépésről lépésre

Közzétéve 8 perc olvasás

Frissen telepített Debian- vagy Ubuntu-szervertől a működő AI-ügynökig: felhasználó és sudo-engedélylista, Node.js 22, a Claude Code és a Codex CLI telepítése és bejelentkezése, CLAUDE.md és AGENTS.md, első feladatok és tipikus hibák.

Ez az útmutató egy frissen telepített Debian- vagy Ubuntu-szervertől egy működő AI-ügynökig vezet, amely naplókat elemez, konfigurációkat ellenőriz és karbantartási feladatokat végez. Beállítjuk a Claude Code-ot (Anthropic) és a Codex CLI-t (OpenAI, a ChatGPT mögötti parancssori eszköz), mindkettőt saját, korlátozott jogú felhasználó alatt. Minden parancsot egy KernelHost KVM root szerveren teszteltünk Debian 13-mal és Ubuntu 24.04-gyel. Hogy általában mi az AI-menedzselt szerver és milyen architektúrák léteznek, azt az AI-menedzselt szerver: AI-ügynökök biztonságos összekapcsolása cikk írja le.

2026 szeptemberi állapot. Az eszközök gyorsan fejlődnek; kétség esetén ellenőrizze a kapcsolókat a claude --help, illetve a codex --help paranccsal.

Előfeltételek

  • Egy root szerver Debian 12 vagy 13, illetve Ubuntu 22.04 vagy 24.04 rendszerrel és SSH-s root hozzáféréssel. AlmaLinuxon és Rocky Linuxon a lépések azonosak, csak a csomagparancsok neve dnf az apt helyett.
  • Alapvető megerősítés elvégezve: SSH-bejelentkezés kulccsal, tűzfal, automatikus biztonsági frissítések. Az új root szerverek ellenőrzőlistája ezt lefedi.
  • Egy Anthropic-fiók (Claude Pro, Max vagy Team) vagy egy API-kulcs, egy ChatGPT-fiók (Plus, Pro vagy Team) vagy egy OpenAI API-kulcs. Csak egyre van szüksége, ha csak egy eszközt szeretne beállítani.
  • Kimenő HTTPS az api.anthropic.com és az api.openai.com felé. KernelHost-szervereken ez alapból adott; egy szigorú saját tűzfalnak engedélyeznie kell.

1. lépés: saját felhasználó létrehozása és a sudo korlátozása

Az ügynök soha nem fut rootként. Saját fiókot kap, és sudo-engedélylistán keresztül pontosan azokat a parancsokat, amelyekre szüksége van. Kezdje néhány olvasó paranccsal, és bővítse a listát, amikor egy feladat valóban megköveteli.

sudo adduser --disabled-password --gecos "AI-ügynök" aiagent
sudo tee /etc/sudoers.d/aiagent >/dev/null <<'EOF'
aiagent ALL=(root) NOPASSWD: /usr/bin/journalctl *, /usr/bin/systemctl status *, /usr/bin/systemctl restart nginx, /usr/bin/apt-get update, /usr/bin/apt-get upgrade -y, /usr/bin/tail *, /usr/bin/df *, /usr/bin/ss *
EOF
sudo chmod 440 /etc/sudoers.d/aiagent
sudo visudo -cf /etc/sudoers.d/aiagent

Az utolsó sor ellenőrzi a szintaxist. Egy hiba a sudoers-fájlban mindenki számára lezárhatja a sudót, ezért az ellenőrzés mindig hozzátartozik. A --disabled-password gondoskodik arról, hogy senki ne tudjon jelszóval bejelentkezni aiagent néven; később a sudo -iu aiagent paranccsal vált át a fiókra.

Ha az ügynöknek fájlokat kell módosítania az /etc alatt, ne adjon neki nano-t sudón keresztül (azzal minden fájl szerkeszthető lenne, az /etc/sudoers is), hanem dolgozzon csoporttal és célzott írási jogokkal, például setfacl -m u:aiagent:rw /etc/nginx/sites-available/sajat-oldal.conf. Kezdetben teljesen elegendő, ha az ügynök javasolja a változtatásokat, és ön hajtja végre őket.

2. lépés: Node.js 22 telepítése

Mindkét eszköz Node.js-en fut. A Claude Code legalább 18-as, a Codex CLI legalább 22-es verziót igényel, ezért a 22 LTS-t telepítjük. A Debian 12 csomagforrásai túl régi verziót szállítanak; a NodeSource az aktuálisat adja:

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
node --version
npm --version

Aki nem szeretne internetről származó szkripteket root jogokkal futtatni, az nvm-et használ az ügynökfelhasználó saját könyvtárában; ez teljesen root jogok nélkül működik. Részletek és alternatívák a Node.js Debianon útmutatóban.

3. lépés: Claude Code telepítése és bejelentkezés

Innentől az ügynök fiókjában dolgozunk:

sudo -iu aiagent
curl -fsSL https://claude.ai/install.sh | bash
claude --version

A natív telepítő a Claude Code-ot a ~/.local/bin alá teszi, és önmagát tartja naprakészen. Alternatívaként npm-mel is megy az npm install -g @anthropic-ai/claude-code paranccsal; ha ez EACCES hibával elbukik, a lenti hibaelhárítási rész segít.

A claude első indításakor az eszköz bejelentkezést kér. Claude-fiókkal normál esetben megnyitja a böngészőt; böngésző nélküli szerveren egy címet és egy kódot jelenít meg, amelyet laptopon vagy telefonon erősít meg. Szkriptekhez és cronfeladatokhoz az API-kulcs a jobb választás:

echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.bashrc
chmod 600 ~/.bashrc
source ~/.bashrc
claude -p "Válaszolj csak annyit: OK" 

A kulcs így csak az ügynökfelhasználó saját könyvtárában van, amelyet más felhasználók nem olvashatnak. Hozza létre az Anthropic-konzolban havi kiadási korláttal, így egy elszabadult munkamenet nem válhat drágává.

4. lépés: Claude Code beállítása a szerverhez

A Claude Code indításkor beolvassa az aktuális könyvtárban lévő CLAUDE.md fájlt. Ebben állnak a minden munkamenetre érvényes szabályok. Hozzon létre egy munkakönyvtárat ezzel a fájllal az ügynök saját könyvtárában:

mkdir -p ~/server && cd ~/server
cat > CLAUDE.md <<'EOF'
# Szabályok ehhez a szerverhez
- Ez éles szerver (Debian 13, nginx, PHP-FPM, MariaDB).
- Olvasó parancsok (journalctl, systemctl status, tail, df, ss) mindig engedélyezettek.
- Minden író parancs előtt: röviden magyarázd el, mit változtat, és várj a jóváhagyásra.
- Soha ne távolíts el csomagokat, soha ne törölj fájlokat a /var/lib alatt, soha ne hozz létre vagy törölj felhasználókat.
- Soha ne ismételj meg jelszavakat, kulcsokat vagy ügyféladatokat a kimenetben.
- Minden feladat végén adj három mondatos összefoglalót.
EOF

Ehhez jön az eszközök engedélylistája, hogy a Claude Code az olvasó parancsokat kérdés nélkül futtassa, minden máshoz pedig jóváhagyást kérjen. A ~/.claude/settings.json fájl a felhasználóra érvényes:

mkdir -p ~/.claude
cat > ~/.claude/settings.json <<'EOF'
{
  "permissions": {
    "allow": [
      "Bash(sudo journalctl:*)",
      "Bash(sudo systemctl status:*)",
      "Bash(sudo tail:*)",
      "Bash(df:*)",
      "Bash(free:*)",
      "Bash(ss:*)"
    ],
    "deny": [
      "Bash(rm -rf:*)",
      "Bash(sudo rm:*)",
      "Bash(dd:*)",
      "Bash(mkfs:*)"
    ]
  }
}
EOF

Most az első feladat, interaktívan:

cd ~/server && claude
> Foglald össze a journalctl hibáit az elmúlt 24 órából, és nevezd meg a három leggyakoribb okot.

És ugyanez a feladat felügyelet nélkül, például napi cronfeladatként reggel 7-kor, amelynek eredménye e-mailben érkezik:

0 7 * * * cd /home/aiagent/server && /home/aiagent/.local/bin/claude -p "Foglald össze a journalctl hibáit és figyelmeztetéseit az elmúlt 24 órából. Add meg a szolgáltatást, az időpontot és a valószínű okot." --allowedTools "Bash(sudo journalctl:*)" 2>&1 | mail -s "Napi szerverjelentés" admin@example.com

A -p kapcsoló interaktív munkamenet nélkül indítja a Claude Code-ot, az --allowedTools pontosan arra korlátozza az eszközöket, amire a futtatásnak szüksége van. Író műveleteknek nincs helye felügyelet nélküli futtatásokban.

5. lépés: Codex CLI (ChatGPT) telepítése és bejelentkezés

A Codex CLI az OpenAI eszköze, amely a ChatGPT mögötti modelleket a parancssorba hozza. Telepítés ugyanabban a felhasználói fiókban:

npm install -g @openai/codex
codex --version

A bejelentkezés a ChatGPT-fiókkal történik (Plus, Pro vagy Team): indítsa el a codex parancsot, válassza a „Sign in with ChatGPT" lehetőséget, és nyissa meg a megjelenített címet egy böngészővel rendelkező eszközön. Szkriptekhez ehelyett az OpenAI-platformról származó API-kulcsot állít be:

echo 'export OPENAI_API_KEY="sk-..."' >> ~/.bashrc
source ~/.bashrc

A Codexnek saját sandboxa és jóváhagyási módja van. Mindkettőt a ~/.codex/config.toml fájlban adja meg; éles szerverhez ez a kombináció ésszerű:

mkdir -p ~/.codex
cat > ~/.codex/config.toml <<'EOF'
approval_policy = "on-request"
sandbox_mode = "workspace-write"
EOF

A workspace-write csak az aktuális munkakönyvtárba enged írást, az on-request pedig mindenre, ami ezen túlmegy, engedélyt kéret az ügynökkel. A danger-full-access szint mindkettőt megszünteti, és nincs helye éles rendszeren. A CLAUDE.md-hez hasonló szabályokat a Codex a munkakönyvtár AGENTS.md fájljából olvassa; ugyanazt a tartalmat használhatja:

cp ~/server/CLAUDE.md ~/server/AGENTS.md
cd ~/server && codex "Ellenőrizd, hogy minden engedélyezett systemd-szolgáltatás fut-e, és sorold fel a hibásakat a legutóbbi hibaüzenettel."

Felügyelet nélküli futtatásokhoz a codex exec "feladat" szolgál, a claude -p megfelelője.

Alternatíva: az ügynök a saját gépén fut, és SSH-n dolgozik

Aki nem szeretne semmit a szerverre telepíteni, a laptopon indítja a Claude Code-ot vagy a Codexet, és az ügynök SSH-n keresztül küldi a parancsokat. Ehhez a szerver az ügynökfelhasználóhoz saját SSH-kulcsot kap, a CLAUDE.md-ben pedig az a szabály áll, hogy minden szerverparancs ssh aiagent@server előtaggal induljon. Alkalmi karbantartáshoz ez jól működik, a hosszabb feladatok és a cronfeladatok azonban jobban futnak közvetlenül a szerveren.

6. lépés: biztosítás és korlátok beállítása

  • Pillanatkép vagy mentés minden munkamenet előtt, amelyben változtatni kell. A szerverek mentési stratégiája megmutatja, hogyan megy ez automatikusan.
  • A jóváhagyási mód maradjon bekapcsolva. A --dangerously-skip-permissions a Claude Code-ban és a danger-full-access a Codexben eldobható VM-ekre való.
  • Titkok elérhetetlenül. Az ügynökfelhasználó ne tudjon .env fájlokat, adatbázisjelszavakat és ügyféladatokat olvasni. Amit olvas, az a szolgáltatóhoz kerül.
  • Költségkorlát minden API-kulcshoz a szolgáltató konzoljában.
  • Nyomon követhetőség: telepítse az etckeeper-t, hogy minden változtatás az /etc alatt Gitbe kerüljön, és mentse az ügynök összefoglalóit.
  • Bejövő irányban semmi nem változik. Mindkét eszköznek csak kimenő HTTPS kell. A tűzfal, a Fail2ban és a szolgáltató DDoS-védelme változatlan marad.

Tipikus hibák és megoldások

ÜzenetOk és megoldás
EACCES: permission denied az npm install -g soránAz npm rendszerkönyvtárba akar írni. Felhasználói előtag beállítása: npm config set prefix ~/.npm-global, majd export PATH=~/.npm-global/bin:$PATH a ~/.bashrc fájlba, és újratelepítés.
Node.js version ... is not supportedTúl régi verzió a disztribúció forrásaiból. Ismételje meg a 2. lépést, és ellenőrizze a node --version paranccsal, hogy a 22.x aktív.
A bejelentkezés nem nyit böngészőtSzerveren ez várható. Nyissa meg a megjelenített címet egy másik eszközön, és adja meg a kódot, vagy váltson API-kulcsra.
ECONNREFUSED vagy időtúllépés indításkorA kimenő HTTPS blokkolva van. Ellenőrizze a tűzfalszabályokat a kimenő 443-as portra; KernelHost-szervereken a kimenő forgalom alapból szabad.
429 rate limit vagy overloadedAz előfizetés vagy az API kvótája elfogyott, vagy a szolgáltató túlterhelt. Várjon röviden, a felügyelet nélküli futtatásoknak adjon néhány perc múlva újabb próbálkozást.
Az ügynök minden parancsnál kérdezBővítse az engedélylistát a ~/.claude/settings.json fájlban, illetve az approval_policy értéket a config.toml fájlban, de csak olvasó parancsokkal.

Összegzés

Egy AI-ügynök a szerveren egy óra alatt beállítható: felhasználó, sudo-engedélylista, Node.js, eszköz, szabályok. A tényleges munka a korlátokban van, és ezek itt szándékosan szűkek. Bővítse őket lépésről lépésre, amikor egy feladat megköveteli, sohasem egyszerre. Egy KernelHost root szerveren vagy dedikált szerveren ehhez semmit nem kell aktiválni: a root hozzáférés, a szabad disztribúcióválasztás és a kimenő kapcsolatok alapfelszereltség.

Gyakori kérdések

Kell előfizetés a Claude Code-hoz, vagy elég egy API-kulcs?
Mindkettő működik. Claude-fiókkal (Pro, Max vagy Team) az első indításkor böngészőn keresztül jelentkezik be, böngésző nélküli szerveren egy másik eszközön megadott kóddal. Ember nélküli automatizált feladatokhoz az ANTHROPIC_API_KEY környezeti változóba tett API-kulcs a tisztább út, mert nem kötődik személyhez és kerettel korlátozható.
Hogyan jelentkezem be a Codex CLI-vel böngésző nélküli szerveren?
Vagy a ChatGPT-fiókos bejelentkezéssel, ahol a Codex megjelenít egy címet, amelyet laptopon vagy telefonon nyit meg, vagy az OPENAI_API_KEY környezeti változóval, az OpenAI-platformról származó kulccsal. Cronfeladatokhoz és szkriptekhez az API-kulcs a megbízhatóbb változat.
Melyik Node.js-verzióra van szükségem?
A Claude Code legalább Node.js 18-at, a Codex CLI legalább Node.js 22-t igényel. Ezért telepítse rögtön a Node.js 22 LTS-t a NodeSource-tárolóból vagy nvm-mel az ügynökfelhasználó saját könyvtárába. A Debian 12 csomagforrásaiból származó verzió túl régi.
Miért bukik el az npm install -g EACCES hibával?
Mert az npm globálisan egy rendszerkönyvtárba akar írni, amelyhez a felhasználónak nincs joga. Állítson be felhasználói előtagot az npm config set prefix ~/.npm-global paranccsal, vegye fel a ~/.npm-global/bin könyvtárat a PATH-ba, és telepítsen újra. Alternatíva az nvm, vagy a Claude Code esetében a natív telepítő, amelynek nincs szüksége npm-re.
Futtathatom a Claude Code-ot cronfeladatban?
Igen, a claude -p paranccsal, szöveges feladattal és az engedélyezett eszközök engedélylistájával. Használjon hozzá API-kulcsot, korlátozza az eszközöket olvasó parancsokra, és irányítsa a kimenetet fájlba vagy e-mailbe. Beavatkozó műveleteknek nincs helye felügyelet nélküli futtatásokban.
Működik ez a KernelHost Windows-szerverein is?
Igen. A Claude Code és a Codex CLI Windowson natívan fut Node.js-szel, vagy a Windows Subsystem for Linux alatt. A felhasználóra és a sudo-engedélylistára vonatkozó lépéseknek ott egy rendszergazdai jogok nélküli, külön Windows-felhasználó felel meg.

Claude Code Codex CLI ChatGPT KI-Agent Node.js Debian Ubuntu Serveradministration