Răspuns direct: poate rula Claude Code pe un VPS?
Da. Claude Code poate rula pe un VPS Linux compatibil. Serverul găzduiește clientul Claude Code, copia de lucru a repository-ului și instrumentele pe care îi permiți să le folosească. Modelul Claude nu este găzduit local pe acel VPS: prompturile și contextul relevant sunt trimise către Anthropic sau către furnizorul de model compatibil configurat pentru sesiune.
Configurația este utilă când vrei o mașină de dezvoltare stabilă, accesibilă de pe mai multe dispozitive, o sesiune de terminal care continuă după ce laptopul se deconectează sau un loc controlat pentru sarcini de dezvoltare programate. Un VPS nu face singur agentul sigur, privat sau autonom. Aceste proprietăți depind de autentificare, accesul la sistemul de operare, permisiuni, sandbox, politica de date, aprobări, monitorizare și recuperare.
Alege cea mai mică soluție care produce rezultatul necesar:
- Lucrezi remote în cod: folosește SSH și tmux. Este baza cea mai simplă și păstrează controlul direct în terminal.
- Continui de pe telefon sau din browser: adaugă Remote Control oficial la o sesiune Claude Code care rulează pe VPS. Folosește conexiuni HTTPS outbound și nu cere un port inbound nou.
- Primești mesaje sau rulezi activități programate: folosește Channels oficial pentru mesaje trimise către o sesiune activă, respectiv Routines sau CI pentru lucru nesupravegheat durabil. Folosește un bot personalizat ori un serviciu de sistem doar dacă opțiunile oficiale nu se potrivesc și poți administra limita suplimentară de securitate.
Notă despre dovezi: Comenzile din acest ghid au fost verificate în documentația oficială indicată la 14 septembrie 2026. Imaginile de terminal sunt ilustrative. Nu am creat un VPS și nu am executat integral instalarea pentru articol.
Acesta este playbook-ul tehnic. Dacă încă evaluezi utilitatea arhitecturii, citește mai întâi ce poate face Claude Code pe un VPS când laptopul este închis.
Ce face configurația și ce nu face
Un VPS oferă Claude Code un mediu Linux previzibil, independent de bateria laptopului, conexiunea acestuia și directorul local de lucru. Tu stabilești ce repository există pe server, ce utilizator Unix rulează procesul, ce credențiale sunt disponibile și ce porturi pot fi accesate. Poți închide clientul SSH în timp ce sesiunea tmux continuă, apoi te poți reconecta.
Trei concepte sunt amestecate frecvent, deși descriu modele operaționale diferite:
- Sesiune interactivă persistentă: un proces Claude Code rămâne activ pe VPS în timp ce te reconectezi prin SSH, Remote Control sau un Channel. tmux păstrează terminalul după deconectarea SSH, dar nu după oprirea procesului sau restartarea serverului.
- Sarcină programată în sesiune: Claude Code programează un prompt în conversația curentă. În versiunea verificată, sarcinile rulează doar cât timp Claude Code este pornit și liber, iar cele recurente expiră după șapte zile.
- Automatizare nesupravegheată durabilă: un Routine în cloud, un job CI sau un serviciu configurat deliberat pornește lucrul fără ca operatorul să țină sesiunea inițială deschisă. Acest model primește mai multă autoritate și cere un scop mai îngust pentru repository, rețea, credențiale și aprobări.
Expresia „self-host Claude” nu descrie corect această arhitectură. Administrezi mașina, spațiul de lucru, procesul clientului și integrările. Inferența are loc în continuare prin serviciile Anthropic sau printr-un furnizor cloud compatibil. VPS-ul nu creează nici o limită automată între Claude Code și tot ce poate accesa utilizatorul Unix.
Arhitectură: alege calea de acces înainte de a adăuga complexitate
Glisează sau derulează pentru a compara coloanele.
| Opțiune | Unde rulează | Potrivită pentru | Persistență | Limită importantă |
|---|---|---|---|---|
| SSH + tmux | Pe VPS | Dezvoltare directă în terminal | Supraviețuiește deconectării SSH | Nu supraviețuiește singură opririi procesului sau unui reboot |
| Remote Control | Execuție pe VPS; interfață prin Claude.ai sau aplicația Claude | Continuarea sesiunii de pe telefon ori din browser | Disponibil cât timp sesiunea și serverul rulează | Necesită OAuth cu abonament eligibil; cheile API nu sunt acceptate |
| Canal Telegram oficial | Plugin pe VPS, conectat la sesiunea Claude Code activă | Mesaje și aprobări dintr-un cont permis | Activ doar cât rulează sesiunea pornită cu Channel | Research preview; necesită Bun, token de bot, pairing și allowlist |
/loop sau sarcină în sesiune | Sesiunea Claude Code curentă | Verificări scurte și remindere | Legată de sesiune; recurențele expiră după șapte zile | Execuțiile ratate nu sunt recuperate |
| Claude Code Routine | Mediu cloud administrat de Anthropic | Program durabil, trigger API sau eveniment GitHub | Independent de terminalul VPS | Rularea autonomă nu cere aprobare interactivă; restrânge repository-urile, rețeaua, variabilele și conectorii |
| Timer systemd sau CI | VPS ori runner CI | Comandă recurentă administrată intern | Durabilă cât timp hostul sau runner-ul este disponibil | Tu administrezi credențiale, loguri, retry, notificări și actualizări |
Începe cu SSH și tmux chiar dacă experiența dorită este Remote Control. O cale convențională de recuperare rămâne valoroasă când o funcție preview, sesiunea OAuth, aplicația mobilă sau pluginul nu este disponibil.
Cerințe și dimensionare pentru Claude Code pe VPS
Documentația oficială de instalare indică Ubuntu 20.04+, Debian 10+, Alpine Linux 3.19+, procesoare x64 sau ARM64, conexiune la internet și minimum 4 GB RAM. Ghidul folosește Ubuntu 24.04 LTS pentru perioada lungă de suport și instrumentele familiare de server. Calea principală este valabilă și pe o versiune Debian curentă, dar numele pachetelor, firewall-ul implicit și imaginea furnizorului trebuie verificate.
Un punct de pornire rezonabil pentru un operator și un repository web obișnuit este:
- 2 nuclee virtuale de procesor.
- 4 GB RAM ca minim documentat; alege 8 GB dacă fluxul include build, typecheck, browser, containere sau o bază de date locală.
- 40–80 GB stocare SSD, ajustată pentru istoricul Git, dependențe, cache-uri de build, loguri și backup.
- O adresă IPv4/IPv6 publică pentru SSH convențional sau acces privat printr-o rețea precum Tailscale.
- Consolă de administrare sau rescue oferită de furnizor înainte să modifici SSH ori firewall-ul.
- Cont Claude Pro, Max, Team, Enterprise sau Console, ori o configurație prin furnizor cloud acceptat.
- Credențială pentru repository care poate face doar operațiunile necesare fluxului.
Aceste valori sunt implicite de planificare, nu un benchmark. Cerința clientului Claude Code poate fi mai mică decât cerințele proiectului real. Măsoară memoria, procesorul, discul, durata build-ului și sesiunile concurente pe repository-ul tău înainte să crești automatizarea sau să adaugi agenți paraleli.
Pregătește Ubuntu în siguranță înainte de instalare
Creează un snapshot la furnizor sau confirmă mai întâi accesul la consola rescue. Păstrează sesiunea inițială de administrator deschisă până când o a doua sesiune, autentificată cu noul operator și cheia lui SSH, funcționează. Nu combina crearea utilizatorului, blocarea SSH, activarea firewall-ului și ștergerea accesului inițial într-un singur script nerevizuit.
Actualizează sistemul de bază
Rulează pe: VPS, din contul inițial cu acces sudo.
Scop: actualizarea indexurilor de pachete și a patch-urilor de securitate.
Verificare: comenzile se încheie fără eroare; verifică dacă este cerut un reboot.
Recuperare: folosește consola furnizorului dacă serverul nu revine după restart.
Sursă: convențiile de administrare Ubuntu.
sudo apt update
sudo apt upgrade
sudo apt install -y git tmux curl ca-certificates ufwUpgrade-ul fără -y este intenționat: citește schimbările propuse. Dacă imaginea indică necesitatea unui kernel nou sau a unui reboot, programează restartul înainte să începi lucru important.
Creează un operator fără acces root implicit
Rulează pe: VPS, din sesiunea inițială de administrator.
Scop: separarea lucrului curent în repository de contul root.
Verificare: id operator arată utilizatorul nou și grupul sudo.
Recuperare: sesiunea inițială de administrator rămâne deschisă.
Sursă: comenzile standard Ubuntu pentru administrarea conturilor.
sudo adduser operator
sudo usermod -aG sudo operator
id operatorÎnlocuiește consecvent operator dacă preferi alt nume nesensibil. Nu folosi numele clientului și nu expune o adresă personală în exemple.
Copiază cheia SSH și verifică o a doua autentificare
Rulează pe: calculatorul local.
Scop: autorizarea unei chei publice existente pentru operator.
Verificare: un al doilea terminal se conectează ca operator și poate rula sudo -v.
Recuperare: revino la sesiunea inițială rămasă deschisă sau la consola furnizorului.
Sursă: fluxul standard OpenSSH pentru client și authorized_keys.
ssh-copy-id operator@203.0.113.10
ssh operator@203.0.113.10
sudo -v203.0.113.10 este o adresă rezervată documentației. Înlocuiește-o cu adresa VPS-ului. Dacă sistemul local nu are ssh-copy-id, copiază numai conținutul cheii publice .pub în ~/.ssh/authorized_keys; nu încărca cheia privată.
Activează UFW fără să blochezi SSH
Atenție: Finalizează mai întâi verificarea din al doilea terminal. Păstrează sesiunea curentă și consola furnizorului disponibile. Dacă SSH folosește alt port, permite acel port exact în locul profilului
OpenSSH.
Rulează pe: VPS, ca operator verificat.
Scop: stabilirea unei limite implicite pentru conexiunile inbound, păstrând SSH.
Verificare: OpenSSH apare permis și firewall-ul este activ.
Recuperare: rulează sudo ufw disable din sesiunea rămasă deschisă sau din consola furnizorului.
Sursă: documentația oficială Ubuntu pentru UFW.
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verboseUbuntu prezintă UFW drept instrumentul firewall implicit și documentează ordinea „regulă înainte de activare” în ghidul oficial pentru firewall. Remote Control folosește conexiuni HTTPS outbound și nu cere deschiderea unui port inbound dedicat Claude Code.

Acces opțional prin rețea privată
Tailscale poate reduce expunerea publică prin includerea VPS-ului și dispozitivelor într-un tailnet privat. Ghidul oficial pentru Linux oferă un script de instalare și instrucțiuni specifice distribuției. Preferă repository-ul semnat dacă politica organizației nu acceptă curl | sh.
Rulează pe: VPS, după verificarea installer-ului și a politicii tailnet.
Scop: instalează clientul Tailscale și înscrie serverul într-o rețea privată.
Checkpoint: tailscale status arată nodul și contul intenționate.
Recuperare: elimină sau expiră nodul din consola Tailscale, apoi dezinstalează pachetul conform distribuției.
Sursă: documentația oficială Tailscale pentru Linux.
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale statusNu închide accesul SSH public până când accesul privat, regulile ACL și recuperarea prin consola furnizorului nu sunt verificate. Tailscale SSH este o alegere suplimentară, nu o cerință pentru Claude Code.
Actualizări automate și limitarea autentificărilor, opțional
Ubuntu 24.04 Server include în mod normal unattended-upgrades pentru actualizări zilnice de securitate, dar imaginile furnizorilor și politicile organizației pot diferi. Revizuiește politica activă, fereastra de mentenanță, reboot-ul, logurile și acoperirea repository-urilor externe în raport cu ghidul Canonical pentru actualizări de securitate înainte să te bazezi pe ea.
Dacă SSH public rămâne accesibil, Fail2Ban poate bloca temporar adresele care repetă autentificări eșuate. Este un strat opțional, nu un înlocuitor pentru chei SSH, acces de rețea restrâns sau consola de recuperare. Jail-ul trebuie să corespundă serviciului SSH și backend-ului de journal, iar adresele de administrare nu trebuie blocate accidental; pornește de la pachetul distribuției și documentația upstream, nu de la un script opac de hardening.
Instalează Claude Code pe VPS
Anthropic recomandă în prezent installer-ul nativ pentru Linux. Verifică URL-ul și pagina oficială de instalare înainte să trimiți un script remote în shell. Organizațiile care cer repository-uri de pachete semnate pot folosi repository-ul apt documentat de Anthropic.
Rulează pe: VPS, ca operator fără root. Nu folosi sudo.
Scop: instalarea Claude Code pentru contul operatorului.
Verificare: comenzile pentru versiune și doctor funcționează într-un shell nou.
Recuperare: urmează instrucțiunile curente de dezinstalare pentru metoda aleasă; nu șterge întregul director home.
Sursă: documentația oficială de instalare Claude Code.
curl -fsSL https://claude.ai/install.sh | bash
exec "$SHELL" -l
claude --version
claude doctor
Instalarea nativă se actualizează automat în fundal în configurația implicită. claude update aplică imediat o versiune disponibilă. Dacă claude nu este găsit, pornește un shell nou, verifică directorul binar indicat de installer și compară echo "$PATH" cu acea cale. Nu instala ca root pentru a ascunde o problemă de PATH per utilizator.
Calea npm este o opțiune de compatibilitate, nu recomandarea principală. La data acestei revizii cere Node.js 18 sau mai nou, instalează același binar nativ printr-un pachet de platformă și nu trebuie rulată cu sudo.
Rulează pe: shell-ul VPS ca operator non-root, doar dacă npm este o cerință explicită a mediului.
Scop: instalează pachetul Claude Code curent prin npm.
Checkpoint: claude --version funcționează pentru operator după un shell de login nou.
Recuperare: dezinstalează pachetul global prin npm și elimină numai configurația revizuită separat.
Sursă: documentația oficială Claude Code pentru instalare avansată.
node --version
npm install -g @anthropic-ai/claude-code
claude --versionAlege autentificarea corectă pentru un server headless
Pentru o sesiune interactivă pe VPS, rulează claude. Dacă browserul nu se poate deschide pe server, Claude Code afișează un URL sau un cod pe care îl finalizezi în browserul altui dispozitiv. Situația este obișnuită prin SSH.
Rulează pe: VPS, ca operator non-root.
Scop: începe autentificarea interactivă și prima sesiune Claude Code.
Checkpoint: /status raportează contul și metoda de autentificare intenționate.
Recuperare: folosește /logout, revocă credențialul la furnizor sau ieși fără să aprobi unelte.
Sursă: documentația oficială Claude Code despre autentificare.
claudeDocumentația Anthropic pentru autentificare separă în prezent următoarele căi:
Glisează sau derulează pentru a compara coloanele.
| Metodă | Potrivită pentru | Limită esențială |
|---|---|---|
OAuth cu abonament prin /login | Lucru interactiv și Remote Control | Remote Control cere autentificare prin abonament eligibil; cheile API nu sunt acceptate |
ANTHROPIC_API_KEY | CLI facturat prin API sau lucru non-interactiv | Are prioritate față de OAuth-ul abonamentului când este prezentă și aprobată |
apiKeyHelper | Chei cu durată scurtă preluate din vault | Outputul și reîmprospătarea helper-ului trebuie administrate sigur |
CLAUDE_CODE_OAUTH_TOKEN din claude setup-token | CI sau scripturi fără browser | Token de lungă durată; numai pentru inference, fără Remote Control |
| Credențiale Bedrock, Vertex sau Foundry | Furnizor cloud ales de organizație | Disponibilitatea Remote Control este diferită și trebuie verificată |
Nu lipi un secret într-o captură, CLAUDE.md, .env comis sau unitate systemd. Variabilele de mediu se pot scurge în istoricul shell, procese, loguri, backup și diagnostic. Pentru organizații, preferă un credential helper sau secret manager cu durată scurtă și procedură de revocare.
Verifică metoda activă în Claude Code:
Rulează pe: sesiunea Claude Code.
Scop: inspectează contul, modelul și calea activă de autentificare.
Checkpoint: metoda afișată corespunde abonamentului sau furnizorului dorit.
Recuperare: fă logout și corectează mediul sau configurația furnizorului înainte să continui.
Sursă: documentația oficială Claude Code despre autentificare.
/statusDacă voiai abonamentul, dar o cheie API veche are prioritate, ieși din Claude Code, elimină variabila din shell-ul curent și autentifică-te din nou:
Rulează pe: shell-ul VPS, după ieșirea din Claude Code.
Scop: elimină cheia API din shell-ul curent pentru a selecta OAuth-ul abonamentului.
Checkpoint: sesiunea nouă nu mai raportează autentificare prin cheie API.
Recuperare: restaurează o cheie aprobată din secret manager numai dacă facturarea API era intenționată.
Sursă: documentația oficială despre prioritatea credențialelor Claude Code.
unset ANTHROPIC_API_KEY
claudeNu folosi unset orbește într-un serviciu de producție. Identifică întâi locul în care este definit mediul și metoda de autentificare așteptată.
Conectează un repository cu acces minim
Creează un spațiu dedicat, deținut de operator. Începe cu un repository de test sau un branch dispensabil. Prima sesiune trebuie să demonstreze navigare, citire, o modificare mică, revizie și recuperare, nu autoritate de deploy.
Rulează pe: VPS ca operator.
Scop: clonarea unui singur repository aprobat într-o cale previzibilă.
Verificare: git remote -v indică numai destinația dorită, iar git status este curat.
Recuperare: revocă accesul Git înainte să ștergi copia dacă nu mai este necesară.
Sursă: comenzile standard Git pentru clonare și inspecție.
mkdir -p ~/work
cd ~/work
git clone https://github.com/organizatia-ta/repository-ul-tau.git
cd repository-ul-tau
git remote -v
git status
claudeFolosește GitHub App, token fine-grained, deploy key sau cheie SSH cu repository-ul și drepturile strict necesare. Nu copia întregul ~/.ssh de pe laptop. Păstrează fișierele .env de producție, credențialele bazei de date, cheile de semnare și exporturile de clienți în afara spațiului inițial.
Revizuiește instrucțiunile repository-ului înainte să accepți instrumente. CLAUDE.md, hooks, configurațiile MCP, scripturile de pachet și fișierele preluate extern pot influența comportamentul. Tratează conținutul din issue-uri, loguri, site-uri, emailuri și chat drept date neîncrezătoare, nu autorizație.
Păstrează sesiunea activă cu tmux
tmux ține procesul din terminal activ când clientul SSH se deconectează. Este o bază ușor de recuperat deoarece te poți reatașa fără un port suplimentar pentru aplicație.
Rulează pe: VPS, în repository.
Scop: pornirea Claude Code într-o sesiune de terminal numită.
Verificare: detașează-te, reconectează SSH și revino în aceeași conversație.
Recuperare: listează sesiunile înainte să oprești procese; tmux nu poate recupera un proces terminat.
Sursă: comenzile standard tmux pentru administrarea sesiunilor.
tmux new -s claude-vps
cd ~/work/repository-ul-tau
claudeDetașează-te cu Ctrl-b, apoi d. Ulterior:
Rulează pe: shell-ul VPS după reconectarea prin SSH.
Scop: listează și reatașează sesiunea de terminal persistentă.
Checkpoint: procesul Claude Code și repository-ul așteptate sunt vizibile.
Recuperare: dacă sesiunea lipsește, inspectează hostul și repository-ul înainte să pornești alta.
Sursă: comenzi standard pentru administrarea sesiunilor tmux.
tmux ls
tmux attach -t claude-vpsDacă tmux ls raportează că serverul nu există, sesiunea s-a încheiat sau VPS-ul a fost restartat. Verifică istoricul și logurile, apoi creează altă sesiune. Nu presupune că o comandă întreruptă s-a încheiat. Verifică starea Git, fișierele generate, scrierile externe și orice deploy înainte să reiei.
Folosește Claude Code de pe telefon sau din browser
Remote Control oficial este calea recomandată pentru continuarea sesiunii de pe VPS prin Claude.ai sau aplicația mobilă Claude. Execuția, serverele MCP, instrumentele și accesul la fișiere rămân pe VPS. Traficul și transcripturile urmează politica de date și retenție documentată de Anthropic.
La data verificării, funcția cere autentificare cu un abonament eligibil Pro, Max, Team sau Enterprise. Cheile API nu sunt acceptate pentru Remote Control. Administratorii Team și Enterprise pot trebui să activeze funcția. Endpoint-urile API personalizate, unele configurații cloud și variabilele care opresc traficul neesențial pot face funcția indisponibilă. Registry-ul npm raporta Claude Code 2.1.270 în timpul acestei revizii; tratează numărul drept reper datat, rulează claude update și verifică pagina Remote Control curentă, deoarece unele flag-uri au limite proprii de versiune.
Pornește o sesiune interactivă disponibilă remote:
Rulează pe: shell-ul VPS, în repository-ul aprobat.
Scop: pornește Claude Code și publică sesiunea Remote Control pentru dispozitivele autentificate.
Checkpoint: apare URL-ul sau codul QR, iar sesiunea este vizibilă în contul intenționat.
Recuperare: încheie sesiunea sau dezactivează Remote Control din conversația activă.
Sursă: documentația oficială Claude Code Remote Control.
cd ~/work/repository-ul-tau
claude --remote-control "Spațiu VPS"Sau activează funcția într-o conversație Claude Code existentă:
Rulează pe: sesiunea Claude Code.
Scop: adaugă Remote Control conversației care rulează deja pe VPS.
Checkpoint: sesiunea denumită apare în Claude.ai sau aplicația Claude.
Recuperare: dezactivează Remote Control sau încheie sesiunea locală; nu există o regulă inbound de eliminat.
Sursă: documentația oficială Claude Code Remote Control.
/remote-control Spațiu VPSDeschide URL-ul afișat sau scanează codul QR de pe dispozitivul autentificat. Remote Control folosește HTTPS outbound și nu deschide un port inbound pe VPS. Această proprietate de rețea nu elimină nevoia permisiunilor și aprobării umane: interfața mobilă poate cere procesului de pe VPS să folosească orice autoritate disponibilă operatorului.
Transcripturile sunt sincronizate prin Anthropic cât timp Remote Control este conectat. Revizuiește documentația despre utilizarea datelor, tipul contului, retenția și cerințele organizației înainte să expui repository-uri confidențiale.
Mediul SSH din Claude Desktop este o altă interfață oficială pentru un server administrat de tine. Este util dacă vrei experiența Desktop cu fișiere, terminal și diff, însă depinde în continuare de accesul SSH și este o interfață alternativă, nu calea principală de pe telefon din acest ghid.
Adaugă canalul oficial Telegram numai dacă mesajele sunt necesare
Channels permit evenimentelor externe aprobate să intre într-o sesiune Claude Code activă. La data verificării, funcția este research preview, iar pluginul oficial Telegram necesită Bun. Pluginul interoghează Telegram, deci nu trebuie să expui un server web, însă tokenul botului și allowlist-ul expeditorilor devin resurse suplimentare de securitate.
Instalează Bun din instrucțiunile oficiale curente, apoi verifică-l:
Rulează pe: shell-ul VPS ca operator.
Scop: confirmă runtime-ul Bun cerut de canalul oficial Telegram.
Checkpoint: Bun afișează versiunea instalată fără eroare de comandă absentă.
Recuperare: elimină Bun prin metoda oficială dacă renunți la Channel.
Sursă: documentația oficială Claude Code Channels și Bun.
bun --versionÎn Claude Code, instalează și configurează pluginul oficial:
Rulează pe: sesiunea Claude Code.
Scop: instalează pluginul Telegram oficial, reîncarcă pluginurile și configurează tokenul.
Checkpoint: pluginul este listat, iar tokenul nu apare în repository.
Recuperare: dezinstalează sau dezactivează pluginul și revocă tokenul prin BotFather.
Sursă: documentația oficială Claude Code Channels.
/plugin install telegram@claude-plugins-official
/reload-plugins
/telegram:configure <token-de-la-BotFather>Repornește Claude Code cu acel Channel activat explicit:
Rulează pe: shell-ul VPS în repository-ul aprobat.
Scop: pornește o sesiune care acceptă evenimente din canalul Telegram configurat.
Checkpoint: Claude Code raportează Channel-ul activ fără să afișeze tokenul.
Recuperare: încheie sesiunea; Channel-ul se oprește odată cu ea.
Sursă: documentația oficială Claude Code Channels.
claude --channels plugin:telegram@claude-plugins-officialTrimite un mesaj botului, apoi aprobă pairing-ul și impune allowlist-ul în Claude Code:
Rulează pe: sesiunea Claude Code, după mesajul de test trimis din contul dorit.
Scop: asociază un expeditor și limitează mesajele la identități permise explicit.
Checkpoint: expeditorul este asociat, iar politica raportează allowlist.
Recuperare: elimină expeditorul, revocă tokenul sau oprește sesiunea cu Channel.
Sursă: documentația oficială de acces pentru canalul Telegram.
/telegram:access pair <cod-pairing>
/telegram:access policy allowlistBotul răspunde doar cât timp Channel-ul este activ. Urmează ghidul oficial Channels, deoarece flag-ul și protocolul se pot schimba în perioada preview.
Atenție: Un expeditor asociat are voie să ofere input; identitatea lui nu face automat sigură fiecare acțiune cerută. Păstrează deploy-ul, mișcarea banilor, comunicarea cu clienții, scrierile în baze de date, schimbarea credențialelor și operațiunile Git destructive în spatele unei aprobări umane explicite.
Un bot Telegram personalizat în Node.js, cu memorie SQLite, UI de aprobare și service manager, poate fi justificat când ai nevoie de router multi-repository sau controale specifice companiei. Este un sistem software separat, nu o mică setare. Cere asocierea sigură a expeditorului, rotația tokenurilor, protecție la replay, gestionarea prompt injection, permisiuni per repository, control de concurență, rate limits, loguri, buton de oprire și recuperare după incidente.
Definește exact ce înseamnă „Claude Code 24/7”
Nu alege scheduler-ul înainte să definești trigger-ul, acțiunea permisă, criteriul de succes, timeout-ul, politica de retry, notificarea, responsabilul și pasul de recuperare.
Pentru polling temporar în conversația curentă, folosește o sarcină în sesiune sau /loop. Documentația oficială pentru scheduled tasks arată că sarcinile rulează numai când Claude Code este pornit și liber, execuțiile ratate nu sunt recuperate, iar recurențele expiră după șapte zile. Este potrivit pentru „verifică testele la fiecare zece minute în această după-amiază”, nu pentru o operațiune permanentă de noapte.
Pentru lucru cloud durabil, Routines poate porni la o oră programată, un apel API sau un eveniment GitHub. Fiecare execuție este o sesiune cloud autonomă. Nu există prompt interactiv de aprobare, iar conectorii incluși pot scrie. Elimină repository-urile și conectorii inutili, restrânge rețeaua și variabilele, păstrează unde este posibil limita implicită pentru branch-uri claude/ și scrie un prompt complet cu rezultat verificabil.
Pentru un timer administrat pe VPS, folosește systemd sau CI numai după testarea manuală a comenzii non-interactive exacte. Modul programatic folosește claude -p; --bare elimină hooks, skills, pluginuri, servere MCP, memorie automată și CLAUDE.md din mediul ambiant. Rezultatul este mai reproductibil, dar cere setări și autentificare API/helper explicite. Verifică modul headless și facturarea curentă înainte de activare.
Un program administrat intern mai are nevoie de:
- Utilizator Unix dedicat și director de lucru explicit.
- Fișier de setări și instrumente permise clar.
- Timeout și lock pentru evitarea execuțiilor suprapuse.
- Loguri cu retenție și redactarea secretelor.
- Alertă către un responsabil la exit code diferit de zero.
- Idempotency sau reconciliere pentru scrieri externe.
- Kill switch și revocarea documentată a credențialelor.
- Revizie umană înainte de merge, deploy, mesaje sau schimbări în datele de producție.
Pachetul descărcabil conține exemple systemd comentate. Sunt șabloane pentru revizie, nu un deployment printr-o singură comandă.
Configurează permisiuni, sandbox și aprobare umană
Permisiunile Claude Code și sandbox-ul sistemului de operare rezolvă părți diferite. Permisiunile stabilesc ce instrumente și tipare poate încerca Claude. Sandbox-ul aplică la nivel OS limite pentru fișiere și rețea asupra Bash și proceselor copil. Anthropic recomandă folosirea ambelor pentru defense in depth în documentația despre permisiuni și sandbox.
Pe Ubuntu/Debian, instalează dependențele Linux documentate pentru sandbox:
Rulează pe: shell-ul VPS ca operator verificat cu sudo.
Scop: instalează pachetele OS folosite de sandbox-ul Claude Code pe Linux.
Checkpoint: ambele pachete sunt instalate, iar /sandbox poate inspecta mediul.
Recuperare: elimină pachetele numai după ce confirmi că alte aplicații nu depind de ele.
Sursă: documentația oficială Claude Code despre sandboxing.
sudo apt-get install bubblewrap socatApoi folosește /sandbox în Claude Code pentru inspecție și activarea modului potrivit. Într-un mediu administrat în care sandbox-ul este o limită obligatorie, configurează oprirea sigură în locul revenirii silențioase la execuție nesandboxed:
Rulează pe: un scope de setări Claude Code revizuit, inițial într-un proiect sau cont de test.
Scop: cere sandbox disponibil și interzice fallback-ul la comenzi nesandboxed.
Checkpoint: /sandbox raportează modul activ, iar lipsa dependenței produce o eroare deliberată.
Recuperare: restaurează setările din version control sau backup; nu slăbi limita pentru a ascunde eroarea.
Sursă: documentația oficială pentru setările sandbox Claude Code.
{
"sandbox": {
"enabled": true,
"failIfUnavailable": true,
"allowUnsandboxedCommands": false
}
}Adaugă reguli ask specifice pentru comenzi cu consecințe și reguli deny pentru căi sensibile. Regulile deny au prioritate. Nu trata un singur tipar Bash(rm -rf *) drept control complet pentru ștergere: shell-ul are forme echivalente, scripturile pot înveli comenzi, iar instrumentele din afara Bash au alte limite.
O scară practică de aprobare este:
- Citire și explicație: fișiere din repository și surse publice documentate în spațiul aprobat.
- Editare locală: schimbări pe un branch dispensabil, cu diff pentru revizie.
- Verificări delimitate: comenzi ale căror efecte și consum sunt înțelese.
- Pregătirea unei acțiuni externe: draft de mesaj, migrare, deploy, plată sau modificare de date fără executare.
- Aprobare umană: responsabilul verifică ținta și schimbarea exacte.
- Execuție și reconciliere: acțiunea este realizată, rezultatul înregistrat și destinația verificată.
Nu folosi bypass-permissions doar pentru comoditate pe un VPS general. Anthropic limitează acel mod la medii izolate; un cont obișnuit de server care conține repository-uri și credențiale nu este automat izolat.
Operațiuni, actualizări, backup și revocare
Un ghid util include și recuperarea mai puțin spectaculoasă. Atribuie un responsabil și un reminder pentru verificări:
Rulează pe: shell-ul VPS într-o fereastră planificată de mentenanță.
Scop: inspectează sănătatea Claude Code, actualizările, capacitatea hostului, tmux și firewall-ul.
Checkpoint: revizuiește fiecare rezultat și notează acțiunile necesare.
Recuperare: doar claude update modifică starea; urmează procedura instalării curente dacă update-ul eșuează.
Sursă: documentația oficială Claude Code și comenzile standard Linux de sănătate.
claude --version
claude doctor
claude update
df -h
free -h
tmux ls
sudo ufw status verbosePentru probleme de pachet sau serviciu, citește jurnalul relevant fără să îl publici integral:
Rulează pe: shell-ul VPS ca proprietar al serviciului.
Scop: inspectează un serviciu user și intrările recente din journal.
Checkpoint: identifică un exit status sau o eroare concretă fără să copiezi secrete.
Recuperare: oprește serviciul înainte de modificări și restaurează ultima configurație revizuită dacă este necesar.
Sursă: diagnostice standard pentru servicii user systemd.
systemctl --user status numele-serviciului
journalctl --user -u numele-serviciului --since todayLogurile pot conține căi de repository, prompturi, argumentele instrumentelor și erori cu context sensibil. Limitează accesul și retenția. Anthropic păstrează și transcripturi locale în directorul de configurare al operatorului conform politicii documentate; un disc de VPS nu este automat criptat sau privat doar pentru că accesul se face prin SSH.
Checklist de verificare a serverului
- Accesul prin consola furnizorului sau rescue este documentat și disponibil unui responsabil clar.
- Operatorul non-root se autentifică prin cheie într-o a doua sesiune înaintea oricărei restricții SSH.
- Portul SSH real este permis, porturile inbound inutile sunt închise, iar ACL-urile rețelei private sunt revizuite.
/status, remote-urile repository-ului, proprietatea Unix și scopul credențialului Git corespund contului și proiectului.- Regulile de permisiuni, sandbox-ul și acțiunile cu aprobare umană au fost testate pe un branch dispensabil.
- Remote Control apare doar în contul dorit; pairing-ul și allowlist-ul Channel conțin doar expeditorii intenționați.
- Fiecare timer, serviciu, job CI sau Routine are responsabil, timeout, lock, alertă de eșec și procedură de oprire.
- Valorile asemănătoare secretelor lipsesc din repository, capturi, unități, exemple shell și artefactele descărcabile.
- Logurile, discul, snapshot-urile, actualizările, rotația credențialelor și decommissioning-ul au o dată de revizie.
Păstrează sursa în remote-ul Git canonic. Salvează numai configurația suplimentară minimă necesară reconstruirii hostului, cripteaz-o și testează restaurarea. Evită copierea fișierelor de credențiale într-un snapshot general fără să înțelegi criptarea furnizorului și accesul la cont.
Când accesul nu mai este necesar:
- Oprește și dezactivează procesele pentru Channel, Remote Control sau systemd.
- Revocă tokenul Telegram, accesul Git, credențialele Claude/API, nodul Tailscale și cheile API ale furnizorului, după caz.
- Revizuiește branch-urile, pull request-urile, mesajele și scrierile externe create sub acea identitate.
- Scoate VPS-ul din rețele private și DNS.
- Exportă numai logurile aprobate, apoi șterge serverul din contul furnizorului.
- Confirmă că facturarea, snapshot-urile, volumele și backup-urile sunt și ele eliminate sau păstrate deliberat.
Rezolvă modurile de eșec frecvente
claude: command not found
Pornește un shell de login nou cu exec "$SHELL" -l, verifică directorul binar ales de installer și compară-l cu echo "$PATH". Rulează claude doctor după ce executabilul este găsit. Nu reinstala ca root pentru a masca o problemă de PATH.
Autentificarea nu se poate finaliza prin SSH
Copiază URL-ul sau codul afișat într-un browser de pe dispozitivul propriu. Confirmă că acel cont include Claude Code. Folosește /status pentru metoda activă și verifică dacă ANTHROPIC_API_KEY, un flag de provider, un endpoint proxy sau o credențială veche are prioritate.
Remote Control nu se conectează
Verifică OAuth-ul cu abonament, activarea în organizație, versiunea Claude Code și accesul direct la API Anthropic. Cheile API, endpoint-urile personalizate, unele moduri cloud, Zero Data Retention și variabilele care blochează traficul neesențial pot face funcția indisponibilă. Citește eroarea înainte de restart; reconectarea poate prelua o sesiune activă pe alt dispozitiv.
Sesiunea tmux a dispărut
tmux ls diferențiază sesiunea detașată de lipsa serverului tmux. Verifică uptime-ul și istoricul de reboot. Inspectează starea repository-ului și sistemele externe înainte să repeți o comandă posibil executată parțial.
Botul Telegram nu răspunde
Confirmă Bun, instalarea pluginului, /reload-plugins, tokenul, pornirea cu --channels, pairing-ul și allowlist-ul. Botul oficial răspunde numai cât timp sesiunea Claude Code cu Channel este activă. Nu publica tokenul într-un ticket de suport.
UFW a blocat SSH
Folosește sesiunea rămasă deschisă sau consola furnizorului pentru sudo ufw status numbered. Dezactivează temporar UFW numai printr-o cale de recuperare în care ai încredere, adaugă regula pentru portul SSH corect și reactivează. Restarturile repetate nu modifică singure regula.
Serviciul systemd merge manual, dar eșuează ca serviciu
Serviciile user au alt mediu și PATH față de shell-ul interactiv. Folosește calea absolută a executabilului, director de lucru explicit și, dacă este necesar, fișier de mediu cu permisiuni restrictive. Verifică systemctl --user status și journalctl --user; nu muta credențiale într-un fișier world-readable.
Utilizarea sau costul sunt neașteptate
Utilizarea din abonament și facturarea API sunt diferite. /usage oferă informații despre sesiune, iar Console Anthropic este sursa autoritativă pentru facturarea API. Mărimea repository-ului, modelul, contextul, sesiunile paralele, frecvența și retry-urile schimbă consumul. Începe cu o sarcină delimitată și alertă de buget; verifică ghidul oficial de cost.
Întrebări frecvente
Este suficient un VPS cu 4 GB pentru Claude Code?
Patru gigabytes este minimul documentat de Anthropic. Poate fi suficient pentru client și un repository mic, însă build-urile, language servers, containerele, browserul, baza de date și sesiunile concurente justifică deseori 8 GB sau mai mult. Măsoară proiectul real în loc să alegi dintr-un clasament generic „cel mai bun VPS”.
Pot folosi Claude Code de pe telefon fără să deschid un port?
Da, dacă Remote Control este acceptat de cont și configurație. Sesiunea VPS face conexiuni HTTPS outbound; funcția nu deschide un port inbound nou. SSH are în continuare nevoie de propria cale accesibilă dacă nu folosești exclusiv o rețea privată și consola furnizorului.
tmux face Claude Code să ruleze permanent?
Nu. tmux păstrează terminalul după deconectarea clientului SSH. Un proces terminat, reboot, out-of-memory kill, credențială expirată sau eroare de rețea poate opri lucrul.
Canalul oficial Telegram este un bot 24/7?
Nu singur. Trimite mesaje către o sesiune Claude Code pornită cu Channel activat și răspunde doar cât timp acel canal rulează. Funcția este și research preview la data verificării.
Aleg Remote Control, Telegram sau un bot personalizat?
Folosește Remote Control când un operator autentificat vrea interfața Claude completă de pe alt dispozitiv. Folosește un Channel oficial când suprafața de mesagerie este utilă. Construiește bot personalizat numai pentru routing, permisiuni, memorie sau UI de aprobare specifice și numai dacă poți întreține un serviciu separat.
Pot rula Claude Code nesupravegheat prin cron sau systemd?
Tehnic, da, prin invocarea non-interactivă acceptată, dar aceasta devine automatizare, nu un simplu pas de terminal. Folosește autentificare explicită, fișier de setări, instrumente permise, lock, timeout, loguri, alerte, idempotency și revizie umană pentru rezultate importante. Routines sau CI pot fi mai potrivite.
Codul este privat dacă execuția rămâne pe VPS?
Nu rezultă automat. Fișierele și instrumentele sunt accesate pe VPS, însă cererile către model folosesc rețeaua, iar Remote Control sincronizează transcripturi. Contează tipul contului, furnizorul, retenția, telemetria, feedback-ul, conținutul repository-ului și protecția discului. Revizuiește politica curentă pentru organizație.
Cum estimez costul?
Separă factura VPS de abonamentul sau API-ul Claude și de costul operațional de mentenanță. Consumul API diferă după model, context, dimensiunea repository-ului, sesiuni paralele și frecvența automatizării. Folosește un pilot mic, /usage, factura furnizorului și limite explicite, nu o estimare lunară universală.
Când este un VPS mai potrivit decât un laptop, Mac mini sau Routine cloud?
Alege un VPS dacă ai nevoie de un mediu Linux înlocuibil, recuperare prin consola furnizorului, identitate de rețea previzibilă și acces de pe mai multe dispozitive fără să expui un calculator personal. Laptopul este mai simplu pentru lucru local; un Mac mini este potrivit pentru sarcini legate de macOS sau hardware propriu; o Routine cloud se potrivește programărilor durabile și strict delimitate care nu au nevoie de mediul VPS. Alege cel mai mic model operațional care rezolvă cerința.
Descarcă pachetul și alege următorul pas
Pachetul de mai jos conține README bilingv, exemplu restrictiv de setări, configurație tmux, șabloane systemd comentate, liste pentru verificare și recuperare și sursele oficiale. Nu conține secrete și nu schimbă automat serverul.
Citește fișierele înainte să copiezi. Înlocuiește căile deliberat, verifică executabilul Claude cu command -v claude și testează într-un repository dispensabil. Pachetul ajută implementarea, dar nu dovedește că VPS-ul, autentificarea, rețeaua sau fluxul tău de producție au fost verificate.
Pentru decizia mai largă despre rolul AI într-un proces, citește integrarea AI în procese controlate și metodologia AutomateFlow. Dacă agentul are nevoie de sisteme interne, deploy, comunicare cu clienții sau date operaționale, următorul pas util este revizuirea arhitecturii și autorității, nu o regulă de permisiune mai largă.
Pachet practic, fără formular
README bilingv, setări restrictive, exemple tmux și systemd, verificări și pași de recuperare. Fără secrete sau configurare automată.
ZIP · 7,6 KB
SHA-256: 6f201907d6994bb5f9d3295f861f4a6ee7da5b1b67e09fd33388188df32982b0
Istoric material
Versiune publică inițială sau revizuită material.
Semnalează o corecție
Include pagina și sursa care susține modificarea propusă.
