Claude Code és ChatGPT Codex telepítése Linux-szerverre: lépésről lépésre
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 aclaude --help, illetve acodex --helpparanccsal.
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
dnfazapthelyett. - 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 azapi.openai.comfelé. 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-permissionsa Claude Code-ban és adanger-full-accessa Codexben eldobható VM-ekre való. - Titkok elérhetetlenül. Az ügynökfelhasználó ne tudjon
.envfá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/etcalatt 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
| Üzenet | Ok és megoldás |
EACCES: permission denied az npm install -g során | Az 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 supported | Tú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őt | Szerveren 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áskor | A 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 overloaded | Az 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érdez | Bő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?
Hogyan jelentkezem be a Codex CLI-vel böngésző nélküli szerveren?
Melyik Node.js-verzióra van szükségem?
Miért bukik el az npm install -g EACCES hibával?
Futtathatom a Claude Code-ot cronfeladatban?
Működik ez a KernelHost Windows-szerverein is?
2026 KernelHost GmbH. Minden jog fenntartva. Ez az útmutató szerzői jogi védelem alatt áll. Más webhelyeken való közzététele, akár csak részleteiben vagy szerkesztett formában, írásos hozzájárulásunk nélkül nem engedélyezett. A forrás megjelölésével és hivatkozással történő idézést kifejezetten szívesen látjuk.

