−25%

på Windows vid årsbetalning, till 31/10. Till paketen

EQVPS

Så säkrar du en självhostad AI-agent på en VPS

26 sep. 2026 · 4 min läsning · EQVPS Team

En klassisk webbapp gör det dess kod säger. En AI-agent gör det dess kod säger plus vad texten den läser lyckas övertala den till. Ge den ett skal, en API-nyckel och en budget, släpp ut den på det öppna internet, och du har byggt något nytt: en process som går att manipulera med social manipulation. Lösningen är inte paranoia utan den gamla sysadmin-vanan med minsta möjliga behörighet, tillämpad på ett väldigt pratsamt program.

Känn till de verkliga hoten

Allt nedan gör antingen de här sakerna mindre sannolika eller billigare när de händer.

1. Ge agenten en egen maskin och en egen användare

Kör agenter som kör kod eller surfar på webben på en separat VPS, inte bredvid din produktionsdatabas. På den maskinen, aldrig som root:

adduser --disabled-password --gecos "" agent
mkdir -p /home/agent/work && chown agent:agent /home/agent/work

Ingen sudo, inga SSH-nycklar till andra servrar, ingen åtkomst till något den inte behöver.

2. Sätt den i en systemd-sandlåda

systemd kan stängsla in en process utan containrar. Agenten kan läsa systemet men bara skriva till sin arbetskatalog:

# /etc/systemd/system/agent.service
[Unit]
Description=AI agent
After=network-online.target

[Service]
User=agent
WorkingDirectory=/home/agent/work
EnvironmentFile=/home/agent/.agent.env
ExecStart=/home/agent/venv/bin/python run_agent.py
Restart=on-failure
NoNewPrivileges=yes
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=/home/agent/work
PrivateTmp=yes
PrivateDevices=yes
MemoryMax=2G

[Install]
WantedBy=multi-user.target

ProtectSystem=strict gör hela filsystemet skrivskyddat utom ReadWritePaths. MemoryMax hindrar en skenande uppgift från att fälla servern. Kontrollera resultatet med systemd-analyze security agent: det betygsätter enheten och listar vad som fortfarande är öppet.

3. Behandla nycklar som om de kommer att läcka

4. Begränsa vad den kan köpa

Om agenten kan spendera pengar måste gränsen ligga utanför agenten. Hos EQVPS beställer och förnyar en agent servrar från kontots förbetalda saldo via MCP-servern eller REST-API:et, så saldot är ett hårt tak. Fyll på med det belopp du är beredd att förlora, inte med hela din budget. Ge agenten ett eget konto om den inte behöver se dina andra servrar.

5. Sätt en människa framför oåterkalleliga åtgärder

Radera data, skicka pengar, pusha till main, mejla kunder: låt sådant gå via ett bekräftelsesteg; ett Telegram-meddelande med en godkänn-knapp räcker. Läsverktyg får köras fritt; skrivverktyg förtjänar förtroende långsamt.

6. Snäva in utgångarna (om du kan leva med det)

En tillåtelselista för utgående trafik gör det mycket svårare att föra ut hemligheter:

ufw default deny outgoing
ufw allow out 53          # DNS
ufw allow out 443/tcp     # HTTPS APIs
ufw allow out 80/tcp      # package mirrors
ufw default deny incoming && ufw allow 22/tcp && ufw enable

Ärligt talat är det här steget de flesta hoppar över: surfande agenter behöver godtycklig HTTPS, och då tillför en tillåtelselista per port lite. Det är värt det för agenter som bara anropar en fast uppsättning API:er.

7. Behåll loggar och en väg tillbaka

Logga varje verktygsanrop med dess argument. Ta en snapshot innan du släpper loss en agent på något nytt: Managed Backups ger dig dagliga återställningspunkter plus snapshots på begäran, så att en dålig eftermiddag kostar en återställning, inte en ombyggnad.

Den ärliga slutsatsen

Inget av detta gör en agent säker att lita blint på. Det gör det billigt att ha fel: en komprometterad agent på en egen maskin, under en egen användare, med ett begränsat saldo och snäva nycklar, kan bara göra liten skada som går att reparera. Det är det realistiska målet. Börja med grunderna i säkra en ny VPS och lägg sedan till de agentspecifika lagren ovan.

FAQ

Vad är den största risken med att köra en AI-agent på en server?

Promptinjektion: agenten läser text den inte skrivit själv (en webbsida, ett mejl, en kommentar i ett ärende) och den texten säger åt den att göra något du aldrig bett om, som att skriva ut sina miljövariabler eller köra ett kommando. Allt annat i den här guiden handlar om att begränsa skadan när det händer.

Ska agenten köras som root?

Aldrig. Ge den en egen användare utan privilegier och utan sudo, och begränsa var den får skriva med systemds sandlåda. Om den luras att köra ett destruktivt kommando kan den bara skada sin egen arbetskatalog.

Hur hindrar jag en agent från att spendera för mycket?

Använd hårda gränser som ligger utanför agenten: utgiftstak på nycklarna hos din modelleverantör och ett förbetalt saldo för allt den kan köpa. Hos EQVPS spenderar en agent från kontots saldo, så saldot i sig är taket: fyll på med det du är beredd att förlora, inte mer.

Kan jag blockera promptinjektion helt?

Nej: det finns inget pålitligt filter för det i dag. Det som fungerar är att minska sprängradien: verktyg med minsta möjliga behörighet, mänsklig bekräftelse för destruktiva eller betalda åtgärder, inga hemligheter i agentens kontext och loggar du kan gå igenom.

Är en separat VPS för en agent värd det?

Ja, om agenten kör kod eller surfar på webben. En liten egen maskin håller den borta från dina databaser, andra projekt och inloggningsuppgifter. Blir den komprometterad bygger du om en server, inte hela din miljö.

← Tillbaka till bloggenSe planer & priser →

Kommentarer

Inga kommentarer än. Bli först.

Lämna en kommentar

Kommentarer modereras innan de visas.