Claude Code és ChatGPT Codex telepítése Linux-szerverre: lépésről lépésre
A friss Debian- vagy Ubuntu-telepítéstől a működőképes AI-ügynökig: felhasználó és sudo-engedélylista, Node.js 22, a Claude Code, a Codex CLI és a Gemini CLI telepítése és a bejelentkezés, szabályfájlok, cronfeladatok, az első feladatok és a tipikus hibák.
Ez az útmutató egy frissen telepített Debian- vagy Ubuntu-szervertől egy működőképes 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, harmadik lehetőségként pedig bemutatjuk a Gemini CLI-t (Google). Minden parancsot végigpróbáltunk egy KernelHost KVM root szerveren Debian 13 és Ubuntu 24.04 alatt. 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 összekötése című 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, acodex --help, illetve agemini --helpparanccsal.
Előfeltételek
- Egy root szerver Debian 12 vagy 13, illetve Ubuntu 22.04 vagy 24.04 rendszerrel, root hozzáféréssel SSH-n keresztül. AlmaLinuxon és Rocky Linuxon a lépések ugyanazok, csak a csomagkezelő parancsok neve
dnfazapthelyett. - Az alapvető megerősítés megtörtént: SSH-bejelentkezés kulccsal, tűzfal, automatikus biztonsági frissítések. Az új root szerverek ellenőrzőlistája mindezt lefedi.
- Egy Anthropic-fiók (Claude Pro, Max vagy Team) vagy egy API-kulcs, valamint egy ChatGPT-fiók (Plus, Pro vagy Team) vagy egy OpenAI API-kulcs. Ha csak egy eszközt szeretne beállítani, ezek közül csak az egyikre van szüksége.
- Kimenő HTTPS-kapcsolat az
api.anthropic.comés azapi.openai.comfelé. KernelHost-szervereken ez alapból adott, egy szigorú saját tűzfalnak viszont engedélyeznie kell.
Milyen szerver elég egy AI-ügynökhöz?
Egy AI-ügynöknek a szerveren sem különleges hardverre, sem GPU-ra nincs szüksége, mert a nyelvi modell a szolgáltatónál fut. A szerveren csak a parancssori eszköz és a Node.js fut, a kettő együtt egy munkamenet alatt többnyire néhány száz megabájt memóriát foglal. Olyan szerverhez, amelyen egyébként nem sok minden fut, 2 vCPU és 4 GB RAM elegendő. Ha a szerver emellett weboldalakat, adatbázisokat vagy játékszervereket is kiszolgál, számoljon az ügynök számára nagyjából 1 GB memóriatartalékkal. Egy KernelHost KVM root szerver nagyjából 30 másodperc alatt üzembe áll, PrePaid alapon, minimális futamidő nélkül vehető igénybe, így olyan tesztrendszernek is megfelel, amelyen először kipróbálhatja az ügynököt.
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 egy sudo-engedélylistán keresztül pontosan azokat a parancsokat, amelyekre szüksége van. Kezdje néhány olvasó paranccsal, és akkor bővítse a listát, amikor egy feladat valóban megköveteli.
sudo adduser --disabled-password --gecos "KI-Agent" 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 a szintaxist ellenőrzi. Egy sudoers-fájlban lévő hiba mindenki számára használhatatlanná teheti a sudót, ezért az ellenőrzés mindig hozzátartozik. A --disabled-password gondoskodik arról, hogy senki ne jelentkezhessen be jelszóval aiagent néven; a fiókba később a sudo -iu aiagent paranccsal vált át. Hogy a sudo-felhasználók alapvetően hogyan működnek, azt a sudo-felhasználó létrehozása Linuxon című cikk magyarázza el.
Célzott írási jogok a sudón át futtatott szerkesztő helyett
Ha az ügynöknek az /etc alatti fájlokat kell módosítania, ne engedélyezze neki sudón keresztül a nano szerkesztőt (azzal bármelyik fájl szerkeszthető lenne, az /etc/sudoers is), hanem dolgozzon csoporttal és célzott írási jogokkal, például így: setfacl -m u:aiagent:rw /etc/nginx/sites-available/meine-seite.conf. Kezdetben teljesen elég, ha az ügynök javasolja a változtatásokat, ön pedig végrehajtja őket.
Ugyanez vonatkozik az engedélylistában szereplő, helyettesítő karaktert tartalmazó parancsokra. A /usr/bin/tail * lehetővé teszi az ügynök számára, hogy bármelyik fájlt elolvassa, amelyhez a root hozzáfér, a hozzáférési adatokat tartalmazókat is. Aki ezt nem szeretné, írja ki pontosan az engedélyezett elérési utakat, például így: /usr/bin/tail -n 200 /var/log/nginx/error.log.
2. lépés: a Node.js 22 telepítése
Mindkét eszköz Node.js-en fut. A Claude Code legalább a 18-as, a Codex CLI legalább a 22-es verziót igényli, ezért a 22 LTS-t telepítjük. A Debian 12 csomagforrásai túl régi verziót tartalmaznak; a NodeSource az aktuálisat biztosítja:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
node --version
npm --version
Alternatíva root jogok nélkül: nvm
Ha nem szeretne internetről származó szkripteket root jogokkal futtatni, használja az nvm-et az ügynökfelhasználó saját könyvtárában; ez teljesen root jogok nélkül is működik. Az nvm telepítési parancsát a projekt README fájljából veheti át, utána három sor is elég:
nvm install 22
nvm alias default 22
node --version
A részleteket és további lehetőségeket a Node.js Debianra telepítéséről szóló útmutató tartalmazza.
3. lépés: a 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 könyvtárba teszi, és az eszköz ezután magától frissül. Alternatívaként npm-mel is telepíthető az npm install -g @anthropic-ai/claude-code paranccsal; ha ez EACCES hibával meghiúsul, a lenti hibaelhárítási rész segít tovább.
Bejelentkezés böngésző nélküli szerveren
A claude első indításakor az eszköz bejelentkezést kér. Claude-fiókkal általában 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 okostelefonon erősíthet meg. A bejelentkezés ezután erre a felhasználóra és erre a szerverre érvényes, amíg ki nem jelentkezik.
API-kulcs szkriptekhez és cronfeladatokhoz
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 található, amelyet más felhasználók nem tudnak olvasni. Hozza létre az Anthropic-konzolban havi kiadási korláttal, így egy elszabadult munkamenet sem válhat drágává. Magát a kulcsot soha ne írja bele az ügynöknek adott feladatba, és soha ne tegye olyan fájlba, amelynek a tartalmát az ügynöknek ki kell írnia.
4. lépés: a Claude Code beállítása a szerverhez
A CLAUDE.md szabályfájl
A Claude Code indításkor beolvassa az aktuális könyvtárban lévő CLAUDE.md fájlt. Ebben állnak azok a szabályok, amelyek minden munkamenetre érvényesek. Hozzon létre az ügynök saját könyvtárában egy munkakönyvtárat ezzel a fájllal:
mkdir -p ~/server && cd ~/server
cat > CLAUDE.md <<'EOF'
# Szabályok ehhez a szerverhez
- Ez egy éles szerver (Debian 13, nginx, PHP-FPM, MariaDB).
- Az olvasó parancsok (journalctl, systemctl status, tail, df, ss) bármikor engedélyezettek.
- Minden író parancs előtt röviden magyarázd el, mit módosít, é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 és ne törölj felhasználókat.
- Jelszavakat, kulcsokat és ügyféladatokat soha ne ismételj meg a kimenetekben.
- Minden feladat végén adj egy három mondatból álló összefoglalót.
EOF
A fájl a használattal együtt bővül. Valahányszor az ügynök másként jár el, mint ahogy ön szeretné, vegye fel a javítást új szabályként. Néhány hét után elég pontosan tükrözi, hogyan folyik a munka az ön szerverén.
Az engedélylista a settings.json fájlban
Ehhez jön az eszközök engedélylistája, hogy a Claude Code az olvasó parancsokat visszakérdezés nélkül futtassa, minden máshoz pedig engedélyt kérjen. A ~/.claude/settings.json fájl az adott 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
A tiltólista kiegészítő védőháló, nem fal: egy parancsot sokféleképpen le lehet írni. A tényleges határt az 1. lépés sudo-engedélylistája húzza meg, mert amit a felhasználó nem tehet meg, azt az ügynök sem.
Az első feladat interaktívan
Most jöjjön 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.
Felügyelet nélkül, cronfeladatként
É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 pedig pontosan arra korlátozza az eszközöket, amire az adott futtatásnak szüksége van. Író műveleteknek nincs helye felügyelet nélküli futtatásokban. Hogy a cronfeladatok alapvetően hogyan állíthatók be, azt a cronfeladat beállítása Linuxon című cikk írja le.
5. lépés: a Codex CLI (ChatGPT) telepítése és bejelentkezés
Telepítés és bejelentkezés
A Codex CLI az OpenAI eszköze, amely a ChatGPT mögötti modelleket a parancssorba hozza. A telepítés ugyanabban a felhasználói fiókban történik:
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 platformjáról származó API-kulcsot állítson be:
echo 'export OPENAI_API_KEY="sk-..."' >> ~/.bashrc
source ~/.bashrc
Sandbox és jóváhagyási mód a config.toml fájlban
A Codex saját sandboxszal és jóváhagyási móddal rendelkezik. Mindkettőt a ~/.codex/config.toml fájlban kell megadni; éles szerverhez ez a kombináció célszerű:
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árban engedélyez írást, az on-request pedig arra készteti az ügynököt, hogy minden ezen túlmenő művelethez engedélyt kérjen. A danger-full-access szint mindkettőt feloldja, és nincs helye éles rendszeren.
Szabályok az AGENTS.md fájlban
A CLAUDE.md fájlhoz hasonló szabályokat a Codex a munkakönyvtárban lévő AGENTS.md fájlbó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ára futottakat a legutóbbi hibaüzenetükkel."
Felügyelet nélküli futtatásokhoz a codex exec "Aufgabe" szolgál, a claude -p megfelelője.
6. lépés: a Gemini CLI mint harmadik lehetőség
A Gemini CLI a Google parancssori eszköze, és ugyanezen az elven működik. Szintén Node.js-en fut, és ugyanabba a felhasználói fiókba kell telepíteni:
npm install -g @google/gemini-cli
gemini --version
A gemini első indításakor Google-fiókkal jelentkezik be, szkriptekhez pedig API-kulcsot állít be a GEMINI_API_KEY környezeti változóban. A szabályokat a Gemini CLI a munkakönyvtárban lévő GEMINI.md fájlból olvassa, és ehhez is felhasználhatja a CLAUDE.md tartalmát. A felügyelet nélküli futtatásokat a gemini -p "Aufgabe" paranccsal indítja. Hogy a három eszköz közül melyiket használja, az elsősorban azon múlik, melyik fiókja van meg amúgy is: a szerveren mindhárom ugyanúgy dolgozik, és többet is futtathat egymás mellett.
Alternatíva: az ügynök az ön gépén fut, és SSH-n keresztül dolgozik
Aki semmit nem szeretne a szerverre telepíteni, a laptopján indítja el a Claude Code-ot vagy a Codexet, és az ügynök SSH-n keresztül adja ki a parancsokat. Ehhez a szerver megkapja az ügynökfelhasználó saját SSH-kulcsát, a CLAUDE.md fájlban pedig az a szabály áll, hogy minden szerverparancs elé ssh aiagent@server kerüljön. Alkalmi karbantartáshoz ez jól működik, a hosszabb feladatok és a cronfeladatok azonban jobban futnak közvetlenül a szerveren. Hogy a saját kulccsal, hosztaliasszal és jóváhagyásokkal kiépített SSH-kapcsolat részleteiben hogyan néz ki, és milyen folyamat szerint telepít ezután az ügynök éles rendszerekre, azt az AI összekapcsolása a szerverrel című gyakorlati beszámoló mutatja be.
7. lépés: védelem és korlátok beállítása
- Pillanatkép vagy mentés minden munkamenet előtt, amelyben valamit módosítani kell. A szerverek mentési stratégiája című cikk megmutatja, hogyan futhat ez automatikusan.
- A jóváhagyási mód maradjon bekapcsolva. A Claude Code
--dangerously-skip-permissionskapcsolója és a Codexdanger-full-accessszintje eldobható VM-ekhez való. - A titkok maradjanak elérhetetlenek. Az ügynökfelhasználó ne tudja olvasni a
.envfájlokat, az adatbázisjelszavakat és az ügyféladatokat. Amit elolvas, az a szolgáltatóhoz kerül. - Költségkorlát beállítása minden API-kulcshoz a szolgáltató konzoljában.
- Nyomon követhetőség: telepítse az
etckeepercsomagot, hogy az/etcalatti minden változtatás Gitbe kerüljön, és őrizze meg az ügynök összefoglalóit. - Bejövő irányban semmi sem változik. Mindkét eszköznek csak kimenő HTTPS-re van szüksége. A tűzfal, a Fail2ban és a tárhelyszolgáltató DDoS-védelme változatlan marad.
Az első feladatok: öt hasznos megbízás
A legjobb első feladatok azok, amelyek sok olvasással járnak, kockázattal viszont nem. Gyorsan megmutatják, milyen alaposan dolgozik az ügynök, és azonnal hasznot hoznak:
- Naplójelentés: „Foglald össze az elmúlt 24 óra hibáit és figyelmeztetéseit szolgáltatásonként csoportosítva, a valószínű okkal együtt.”
- Szolgáltatások ellenőrzése: „Sorold fel az összes hibára futott systemd-szolgáltatást a legutóbbi hibaüzenettel, és magyarázd el, mi lenne a teendő az egyes esetekben. Ne módosíts semmit.”
- Lemezterület: „Mutasd meg, mely könyvtárak foglalják a legtöbb helyet, és javasold, mi takarítható el kockázat nélkül.” A háttérről a Megtelt a lemez Linuxon című cikk ír.
- Frissítések: „Mely csomagokhoz van függőben lévő biztonsági frissítés, és mely szolgáltatásokat kell utána újraindítani?”
- Webszerver: „Ellenőrizd az nginx-konfigurációt hibák és elavult beállítások szempontjából, és magyarázd el mindegyik találatot.”
Csak ha ezek az elemzések helytállóak, érdemes módosításokkal járó feladatokat adni az ügynöknek, és akkor is először egy tesztrendszeren.
Tipikus hibák és megoldások
| Üzenet | Ok és megoldás |
EACCES: permission denied az npm install -g parancsnál | Az npm egy rendszerkönyvtárba akar írni. Állítson be felhasználói előtagot: npm config set prefix ~/.npm-global, majd vegye fel az export PATH=~/.npm-global/bin:$PATH sort a ~/.bashrc fájlba, és telepítsen újra. |
Node.js version ... is not supported | Túl régi verzió a disztribúció csomagforrásaiból. Ismételje meg a 2. lépést, és a node --version paranccsal ellenőrizze, hogy a 22.x aktív-e. |
claude: command not found | A natív telepítő a programot a ~/.local/bin könyvtárba teszi, amely még nem szerepel a PATH változóban. Vegye fel az export PATH=$HOME/.local/bin:$PATH sort a ~/.bashrc fájlba, és töltse be újra a shellt. |
| A bejelentkezés nem nyit meg 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 kimenő 443-as portra vonatkozó tűzfalszabályokat; KernelHost-szervereken a kimenő forgalom alapból engedélyezett. |
429 rate limit vagy overloaded | Elfogyott az előfizetés vagy az API kerete, illetve a szolgáltató túlterhelt. Várjon egy kicsit, a felügyelet nélküli futtatásokat pedig lássa el egy néhány perc múlva induló újrapróbálkozással. |
| Az ügynök minden parancsnál visszakérdez | Bővítse az engedélylistát a ~/.claude/settings.json fájlban, illetve az approval_policy beállítást a config.toml fájlban, de csak olvasó parancsokkal. |
| A cronfeladat üres e-maileket küld | A cron környezetéből hiányoznak a shell környezeti változói. Állítsa be az API-kulcsot a crontabban vagy egy olyan környezeti fájlban, amelyet a feladat beolvas, és használja a program teljes elérési útját. |
Az eszközök naprakészen tartása
A Claude Code a natív telepítő használata esetén magától frissül. Az npm-mel telepített eszközöket egyetlen paranccsal hozhatja naprakész állapotba:
npm update -g @openai/codex @google/gemini-cli
codex --version
gemini --version
Az új verziók időnként kapcsolókat vagy alapértelmezett beállításokat változtatnak meg. Frissítés után röviden olvassa el a kiadási megjegyzéseket, mielőtt engedi folytatódni a felügyelet nélküli futtatásokat, és nézze át a következő napi jelentést, nincs-e benne valami szokatlan.
Összegzés
Egy AI-ügynök egy óra alatt beállítható a szerveren: felhasználó, sudo-engedélylista, Node.js, eszköz, szabályok. A tényleges munkát a korlátok jelentik, és ezeket itt szándékosan szűkre szabtuk. Bővítse őket lépésről lépésre, amikor egy feladat megköveteli, soha nem általános jelleggel. Egy KernelHost root szerveren vagy dedikált szerveren ehhez semmit nem kell külön aktiválni: a root hozzáférés, a szabad disztribúcióválasztás és a kimenő kapcsolatok alapfelszereltség.
Hogy egy ügynök ezután hogyan telepít éles rendszerekre, mentéssel, visszaúttal és jóváhagyásokkal, azt az AI összekapcsolása a szerverrel című gyakorlati beszámoló írja le.
Röviden összefoglalva
- A Claude Code, a Codex CLI és a Gemini CLI bármely Linux-szerveren fut Node.js 22-vel, GPU-ra nincs szükség.
- Az ügynök saját felhasználót kap sudo-engedélylistával, és soha nem fut rootként.
- A szabályok a
CLAUDE.md, azAGENTS.mdvagy aGEMINI.mdfájlban állnak, az olvasó parancsok az engedélylistára kerülnek, minden máshoz jóváhagyás kell. - Cronfeladatokhoz és szkriptekhez a kiadási korláttal ellátott API-kulcs a tiszta megoldás, a felügyelet nélküli futtatások pedig csak olvasnak.
- Mentés minden munkamenet előtt, a titkok elérhetetlenül, a jóváhagyási mód bekapcsolva.
- KernelHost-szervereken a root hozzáférés, a szabad disztribúcióválasztás és a kimenő kapcsolatok alapból adottak.
Gyakori kérdések
Kell előfizetés a Claude Code-hoz, vagy elég egy API-kulcs?
Hogyan jelentkezhetek be a Codex CLI-be böngésző nélküli szerveren?
Melyik Node.js-verzióra van szükségem?
Miért hiúsul meg az npm install -g EACCES hibával?
Futtathatom a Claude Code-ot cronfeladatban?
Működik ez a KernelHost Windows-szerverein is?
Használhatom a Claude Code-ot, a Codex CLI-t és a Gemini CLI-t párhuzamosan egy szerveren?
Mennyi memóriára van szüksége egy AI-ügynöknek a szerveren?
Hogyan frissíthetem a Claude Code-ot, a Codex CLI-t és a Gemini CLI-t?
Hogyan állíthatom be a Gemini CLI-t a szerveren?
Miért nem futhat az AI-ügynök rootként?
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.

