సర్వర్లో Claude Code సురక్షితంగా అమలు చేయడం ఎలా
Claude Code మీ యూజర్ లాగా ఏ కమాండ్ అయినా రన్ చేయగలదు. --skip-permissions ఫ్లాగ్ ఏమి మారుస్తుందో, శాండ్బాక్స్ నుండి డిస్పోజబుల్ VPS వరకు బ్లాస్ట్ రేడియస్ను ఎలా పరిమితం చేయాలో
సర్వర్లో క్లాడ్ కోడ్ను సురక్షితంగా అమలు చేయడం అంటే ఏమిటి
సర్వర్లో క్లాడ్ కోడ్ను సురక్షితంగా అమలు చేయడానికి, దాని అనుమతి ప్రాంప్ట్లను ఆన్లో ఉంచండి, దీన్ని ప్రత్యేక అనధికార వినియోగదారుగా అమలు చేయండి మరియు పర్యవేక్షణ లేని రన్లకు నమ్మకానికి బదులుగా నిజమైన సరిహద్దును ఇవ్వండి: అంతర్నిర్మిత శాండ్బాక్స్, కంటైనర్ లేదా మీకు ముఖ్యమైనదేమీ లేని డిస్పోజబుల్ VPS. --dangerously-skip-permissions ఫ్లాగ్ మోడల్ మరియు మీ షెల్ మధ్య ఆమోద దశను తొలగిస్తుంది. పర్యవేక్షణ లేని పనికి ఆ వ్యాపారం సహేతుకంగా ఉంటుంది, కానీ ఒక చెడ్డ కమాండ్ ఏమి చేరుకోగలదో పరిమితం చేసే సరిహద్దు లోపల మాత్రమే. ఈ గైడ్ ఫ్లాగ్ వాస్తవానికి ఏమి మారుస్తుందో మరియు పెరుగుతున్న ఐసోలేషన్ స్థాయిలలో ఆ సరిహద్దును ఎలా నిర్మించాలో వివరిస్తుంది.
మీ బాక్స్లో Claude Code ఏమి చేయగలదు
Claude Code అనేది మీ టెర్మినల్లో పనిచేసే ఒక కోడింగ్ ఏజెంట్. ఇది ఫైళ్ళను చదువుతుంది, ఫైళ్ళను వ్రాస్తుంది మరియు దానిని ప్రారంభించిన యూజర్ వలె షెల్ కమాండ్లను అమలు చేస్తుంది. ఈ టూల్ యొక్క మొత్తం విలువ ఇదే: ఇది మీరు ప్రతి కమాండ్ టైప్ చేయకుండానే, ఒక రిపోజిటరీని క్లోన్ చేయగలదు, కోడ్ను ఎడిట్ చేయగలదు, టెస్ట్లను రన్ చేయగలదు, విఫలమైన దానిని చదివి, ఒక లూప్లో కోడ్ను ఫిక్స్ చేయగలదు. మీరు దీన్ని ఇంకా సర్వర్లో సెటప్ చేయకపోతే, tmux తో VPS లో Claude Code ను రన్ చేయడం ఇన్స్టాల్ మరియు సెషన్ హ్యాండ్లింగ్ను కవర్ చేస్తుంది. ఈ పేజీ అది అక్కడ ఉన్న తర్వాత మీరు దానికి అందించే శక్తిని కవర్ చేస్తుంది.
ప్రమాదం అదే వాక్యాన్ని రెండవసారి చదవడం లాంటిది. మీ యూజర్ వలె షెల్ కమాండ్లను అమలు చేసే ప్రక్రియ మీ యూజర్ చేయగలిగినదంతా చేయగలదు. ఇది ~/.ssh/id_ed25519, ~/.aws/credentials, మరియు మీ యూజర్ తెరవగలిగే ప్రతి .env ఫైల్ను చదవగలదు. ఇది curl ను రన్ చేసి, సర్వర్ చేరుకోగలిగిన ఏ హోస్ట్కైనా డేటాను పంపగలదు. ఇది git push --force ను రన్ చేయగలదు. ఏజెంట్కు స్వంత ఉద్దేశ్యం ఏదీ లేదు. ప్రమాదం ఏమిటంటే, ఒక టాస్క్ తప్పుగా పోవడం, లేదా అది పని చేస్తున్నప్పుడు చదివిన టెక్స్ట్లో మరొకరు వ్రాసిన సూచనలు ఉండటం: అది తెచ్చిన వెబ్ పేజీ, లేదా దాన్ని ఫిక్స్ చేయమని అడిగిన ఇష్యూలోని కామెంట్. ఆ రెండవ కేసును ప్రాంప్ట్ ఇంజెక్షన్ అంటారు, మరియు "మోడల్ సాధారణంగా సెన్సిబుల్గా ఉంటుంది" అనేది సెక్యూరిటీ ప్లాన్ కాకపోవడానికి ఇదే కారణం. మీరు సగటు రన్ కోసం కాకుండా, చెడ్డ రన్ కోసం ప్లాన్ చేస్తారు.
సాధారణ భాషలో అనుమతి వ్యవస్థ
సాధారణంగా, Claude Code చర్య తీసుకునే ముందు అడుగుతుంది. ప్రాజెక్ట్ లోపల ఫైళ్ళను చదవడం నిశ్శబ్దంగా జరుగుతుంది, కానీ ఫైల్ను సవరించడం లేదా షెల్ కమాండ్ అమలు చేయడం వంటి చర్యలకు ముందు ఖచ్చితమైన సవరణ లేదా కమాండ్ చూపించి, అవును అనే సమాధానం కోసం ఎదురుచూస్తుంది. మీరు ఒక చర్యను ఆమోదించవచ్చు, లేదా సెషన్ ముగిసే వరకు ఆ రకమైన చర్యను ఆమోదించవచ్చు. ఈ ఆమోదాలు సెషన్ పరిధిలో ఉంటాయి: CLI నుండి నిష్క్రమించండి, తదుపరి సెషన్ మళ్ళీ జాగ్రత్తగా ప్రారంభమవుతుంది. మీరు కొనసాగించాలనుకునే నియమాల కోసం, సెట్టింగ్స్ ఫైల్ శాశ్వత అనుమతి, అడుగు మరియు నిరాకరణ జాబితాలను కలిగి ఉంటుంది. ఉదాహరణకు: git status ను అనుమతించు, git push పై అడుగు, .env చదవడాన్ని నిరాకరించు. నిరాకరణ నియమాలు ఎల్లప్పుడూ గెలుస్తాయి.
ఈ డిజైన్ ఒక మానవుడు టెర్మినల్ను చూస్తున్నాడని ఊహిస్తుంది, మరియు ల్యాప్టాప్లో ఇది నిజం. సర్వర్లో, తరచుగా ఎవరూ చూడటం లేదు అనేది పాయింట్. మీరు tmux లో ఒక పెద్ద పనిని ప్రారంభించి నిద్రపోతారు, మరియు ఉదయం వరకు ప్రశ్న అడగడానికి ఆగిపోయే ఏజెంట్ ఎటువంటి పురోగతి సాధించదు. విరామం సమయంతో పాటు డబ్బును కూడా ఖర్చు చేస్తుంది, ఎందుకంటే నిష్క్రియ Claude Code సెషన్ దాని వెచ్చని ప్రాంప్ట్ కాష్ను కోల్పోతుంది మరియు తదుపరి టర్న్ దాన్ని పునర్నిర్మించడానికి చెల్లించాలి. సర్వర్లపై స్కిప్ ఫ్లాగ్ కోసం ప్రజలు చేరుకోవడానికి ఇది నిజాయితీ కారణం, మరియు అది పరిష్కరించే సమస్య నిజమైనది. ఈ గైడ్ యొక్క మిగిలిన భాగం ప్రతి రక్షణను వదులుకోకుండా దాన్ని పరిష్కరించడం గురించి.
--dangerously-skip-permissions ఏమి మారుస్తుంది
claude --dangerously-skip-permissions ఆమోద దశను ఆపివేస్తుంది. సవరణలు ప్రాంప్ట్ లేకుండా జరుగుతాయి. షెల్ ఆదేశాలు ప్రాంప్ట్ లేకుండా అమలవుతాయి. సాధారణంగా సున్నితమైన స్థానాలను రక్షించే రక్షిత-పాత్ తనిఖీలు కూడా దాటవేయబడతాయి. మీ స్పష్టమైన నిరాకరణ నియమాలు ఇప్పటికీ వర్తిస్తాయి, మరియు కొన్ని తీవ్రమైన చర్యలు ఇప్పటికీ అడగడానికి ఆగిపోతాయి, కానీ పని సారాంశం సులభం: మోడల్ అమలు చేయాలని నిర్ణయించుకున్నది అమలవుతుంది.
సర్వర్లో ఈ ఫ్లాగ్ గురించి రెండు వాస్తవాలు ముఖ్యమైనవి. మొదటిది, లినక్స్ మరియు మ్యాక్ఓఎస్లో క్లాడ్ కోడ్ రూట్ లేదా సుడో కింద నడుస్తున్నప్పుడు ఇది నిరోధించబడుతుంది, ఎందుకంటే ప్రాంప్ట్ లేని రూట్ మెషీన్లోని ఏ ఫైల్ లేదా సేవనైనా మార్చగలదు. ఏజెంట్కు దాని స్వంత అనాలోచిత ఖాతా అవసరం, మరియు ఫ్లాగ్ దానిని అమలు చేస్తుంది. రెండవది, ఫ్లాగ్ మోడల్ ప్రవర్తనను ఏ విధంగానూ మార్చదు. ఇది మానవుడిని లూప్ నుండి తొలగిస్తుంది మరియు మరేమీ మార్చదు, కాబట్టి ప్రాంప్ట్ పట్టుకునే ప్రతి తప్పు ఇప్పుడు అమలవుతుంది.
కాబట్టి ఇక్కడ నిజాయితీ గణన ఉంది. మీరు అనుమతులను దాటవేస్తే, భద్రతా ప్రశ్న "ఏజెంట్ ఏదైనా చెడు చేస్తుందా" నుండి "ఒక చెడు చర్య ఎంత నష్టం చేయగలదు" గా మారుతుంది. మీరు ప్రతి నిర్ణయాన్ని నియంత్రించడాన్ని ఆపివేసి, పేలుడు వ్యాసార్థాన్ని నియంత్రించడం ప్రారంభిస్తారు. నియంత్రణే సమాధానం, మరియు అది మెట్లలో వస్తుంది.
అంతర్నిర్మిత క్లాడ్ కోడ్ శాండ్బాక్స్
రంగాలకు ముందు, క్లాడ్ కోడ్ ఇప్పుడు అది అమలు చేసే కమాండ్ల కోసం OS-స్థాయి శాండ్బాక్స్ను కలిగి ఉందని తెలుసుకోండి, మరియు ఇది ప్రజలు స్కిప్ ఫ్లాగ్ కోసం చేరుకునే చాలా కారణాలను తొలగిస్తుంది. Linuxలో ఇది ఫైల్సిస్టమ్ ఐసోలేషన్ కోసం bubblewrapను ఉపయోగిస్తుంది, అలాగే నెట్వర్క్ ట్రాఫిక్ను ప్రాక్సీ ద్వారా రూట్ చేయడానికి socatను ఉపయోగిస్తుంది. శాండ్బాక్స్ లోపల, ఒక కమాండ్ ప్రాజెక్ట్ డైరెక్టరీ మరియు సెషన్ టెంప్ డైరెక్టరీకి మాత్రమే వ్రాయగలదు, మరియు ఇది ప్రతి డొమైన్ను అనుమతి జాబితాకు వ్యతిరేకంగా తనిఖీ చేసే ప్రాక్సీ ద్వారా మాత్రమే నెట్వర్క్ను చేరుకోగలదు. ఒక కమాండ్ కొత్త డొమైన్ను కోరుకున్న మొదటి సారి, క్లాడ్ కోడ్ మిమ్మల్ని అడుగుతుంది.
సెషన్ లోపల /sandbox కమాండ్తో దీన్ని ఆన్ చేయండి. Ubuntu మరియు Debianలో, దీనికి అవసరమైన రెండు ప్యాకేజీలను ముందుగా ఇన్స్టాల్ చేయండి:
sudo apt install bubblewrap socatUbuntu 24.04 మరియు తర్వాతి వెర్షన్లలో, డిఫాల్ట్ AppArmor పాలసీ bubblewrapకు అవసరమైన యూజర్ నేమ్స్పేస్లను సృష్టించకుండా ఆపుతుంది. ఏదైనా లేనప్పుడు శాండ్బాక్స్ ప్యానెల్ మీకు తెలియజేస్తుంది, మరియు క్లాడ్ కోడ్ శాండ్బాక్సింగ్ డాక్యుమెంటేషన్ దాన్ని పరిష్కరించే చిన్న AppArmor ప్రొఫైల్ను కలిగి ఉంటుంది.
శాండ్బాక్స్ ఆటో-అలౌ మోడ్ను కలిగి ఉంది: శాండ్బాక్స్ చేయబడిన కమాండ్లు ఎటువంటి ప్రాంప్ట్ లేకుండా అమలు చేయబడతాయి, ఎందుకంటే అమలు చేయబడిన అవరోధం ఇప్పుడు ప్రాంప్ట్ చేసే పనిని చేస్తుంది. శాండ్బాక్స్ లోపల అమలు చేయలేని కమాండ్లు సాధారణ అనుమతి ప్రవాహానికి తిరిగి వస్తాయి, కాబట్టి నిజంగా అసాధారణమైన చర్యలు ఇప్పటికీ అడుగుతాయి. చాలా సర్వర్ వర్క్ఫ్లోలకు ఇది స్కిప్ ఫ్లాగ్కు సరైన ప్రత్యామ్నాయం, ఎందుకంటే OS-అమలు చేయబడిన అవరోధంతో మీకు ఏదీ లేకుండా చాలా తక్కువ ప్రశ్నలు లభిస్తాయి.
దాని పరిమితుల గురించి నిజాయితీగా ఉండండి. డిఫాల్ట్గా, శాండ్బాక్స్ చేయబడిన కమాండ్ ఇప్పటికీ చాలా ఫైల్సిస్టమ్ను చదవగలదు, క్రెడెన్షియల్ ఫైల్లతో సహా, మీరు ఆ పాత్లను నిరాకరించకపోతే; sandbox.credentials సెట్టింగ్ ఖచ్చితంగా దాని కోసం ఉంది. నెట్వర్క్ ప్రాక్సీ డొమైన్ పేర్లను తనిఖీ చేస్తుంది మరియు ట్రాఫిక్ను స్వయంగా తనిఖీ చేయదు, కాబట్టి github.com వంటి విస్తృత అనుమతి ఇప్పటికీ డేటాను బయటకు తరలించడానికి స్థలాన్ని వదిలివేస్తుంది. Docker దాని లోపల పనిచేయదు. శాండ్బాక్స్ ఫ్లోర్ను చాలా పెంచుతుంది. ఇది పూర్తి ఐసోలేషన్ అవరోధం కాదు, అందుకే కింది రంగాలు ఇప్పటికీ ముఖ్యమైనవి.
కంటైన్మెంట్ నిచ్చెన
మూడు మెట్లు, వివిక్తీకరణ పెరుగుతున్న క్రమంలో. బాక్స్లో ఏముందో బట్టి తగిన అత్యల్ప మెట్టును ఎంచుకోండి.
మెట్టు 1: ప్రత్యేక అనధికార వినియోగదారు. ఏజెంట్కు దాని స్వంత ఖాతా, దాని స్వంత హోమ్ డైరెక్టరీ, దాని స్వంత ప్రాజెక్ట్ డైరెక్టరీ ఉంటాయి, మరియు sudo ఉండదు:
sudo adduser --disabled-password --gecos "" agentఖాతా సరిహద్దు ఏజెంట్ను మీ ఫైళ్ల నుండి దూరంగా ఉంచుతుంది: మీ SSH కీలు మరియు మెషీన్లోని ప్రతి ఇతర ప్రాజెక్ట్. ఇది స్కిప్ ఫ్లాగ్ను అస్సలు ఉపయోగించుకునేలా చేస్తుంది, ఎందుకంటే ఫ్లాగ్ రూట్గా రన్ కావడానికి నిరాకరిస్తుంది. ఇది ప్రతి సర్వీస్ను అనధికార వినియోగదారుగా రన్ చేయడం వెనుక ఉన్న సూత్రమే, ఏజెంట్కు అన్వయించబడింది. మెట్టు 1 ఏమి పరిమితం చేయదు: నెట్వర్క్, మరియు బాక్స్లో ప్రపంచ-చదవగలిగే ఏదైనా.
మెట్టు 2: కంటైనర్. ఆంత్రోపిక్ ఒక రిఫరెన్స్ డెవ్కంటైనర్ను ప్రచురిస్తుంది, ఇది క్లాడ్ కోడ్ను నాన్-రూట్ యూజర్గా రన్ చేస్తుంది, ఏజెంట్ ఏ హోస్ట్లను చేరుకోగలదో పరిమితం చేసే ఫైర్వాల్ నియమాలతో ఉంటుంది, మరియు మీరు స్వయంగా నిర్మించుకునే కంటైనర్ అదే పని చేస్తుంది. ఫైల్సిస్టమ్ మీరు మౌంట్ చేసే వాల్యూమ్లకు తగ్గిపోతుంది, మరియు ఈగ్రెస్ కంటైనర్ నియమాలు అనుమతించే వాటికి తగ్గిపోతుంది. సర్వర్ మీరు పట్టించుకునే ఇతర సర్వీస్లను హోస్ట్ చేసినప్పుడు ఇది సరైన మధ్య మెట్టు. దీని పరిమితి ఏమిటంటే కంటైనర్లు హోస్ట్ కెర్నల్ను షేర్ చేస్తాయి, మరియు ఒక నిర్లక్ష్య మౌంట్ సరిహద్దును తొలగిస్తుంది; కంటైనర్కు /var/run/docker.sock ఇవ్వండి, అది మొత్తం హోస్ట్ను చేరుకోగలదు.
మెట్టు 3: ప్రత్యేక VPS. బలమైన మెట్టు అత్యంత సూటిది: ఏజెంట్కు మీరు పట్టించుకోని ఒక మొత్తం మెషీన్ ఇవ్వండి. ఒక చిన్న VPS నెలకు కొన్ని డాలర్లు ఖర్చవుతుంది. దీన్ని కొత్త VPS రన్బుక్లో మొదటి పది నిమిషాలు తో సెటప్ చేయండి, శుభ్రమైన స్థితిని స్నాప్షాట్ చేయండి, మరియు ఏజెంట్ను పని చేయనివ్వండి. అక్కడ మరేమీ ఉండదు. వ్యక్తిగత SSH కీ లేదు, ఒకే రిపోజిటరీకి పరిమితమైన డిప్లాయ్ కీ మాత్రమే. క్లౌడ్ క్రెడెన్షియల్స్ లేవు, ప్రొడక్షన్ డేటా లేదు. రన్ తప్పు అయినప్పుడు, లేదా మీకు క్లీన్ స్లేట్ కావాల్సినప్పుడు, స్నాప్షాట్ను పునరుద్ధరించండి లేదా నిమిషాల్లో బాక్స్ను డిస్ట్రాయ్ చేసి రీబిల్డ్ చేయండి. బ్లాస్ట్ రేడియస్ అనేది అద్దె. --dangerously-skip-permissions భయానకంగా ఉండటం మానేసే సెటప్ ఇది, ఎందుకంటే చెత్త వాస్తవిక ఫలితం రీబిల్డ్ చేసిన సర్వర్ మరియు ఒక రద్దు చేసిన టోకెన్.
మెట్లు పేర్చబడతాయి. ఒక శాండ్బాక్స్ చేయబడిన ఏజెంట్, అనధికార వినియోగదారుగా రన్ అవుతూ, డిస్పోజబుల్ VPSలో, దాదాపు అదనపు ఖర్చు లేకుండా ఉంటుంది మరియు విఫలమైన కథనాలను బోరింగ్ చేస్తుంది. బోరింగ్ అనేది మంచిది.
క్రెడెన్షియల్స్ను రక్షించండి
అన్నిటికంటే ముఖ్యమైన నియమం: ఏజెంట్ యూజర్ వేరే దేనికైనా చెందిన రహస్యాలను చదవలేకపోవాలి.
API కీని ఏజెంట్కు మాత్రమే ఇవ్వండి, మరేదానికీ కాదు. దాన్ని ఏజెంట్ యూజర్ స్వంతంలో ఉన్న ఫైల్లో mode 600 తో ఉంచండి, మరియు షెల్ ప్రారంభమైనప్పుడు లోడ్ చేయండి:
install -m 600 /dev/null /home/agent/claude.env
echo 'export ANTHROPIC_API_KEY=your-key-here' >> /home/agent/claude.env
echo 'source ~/claude.env' >> /home/agent/.bashrcఆపై మరొక దిశను మూసివేయండి. Debian మరియు Ubuntu లలో, హోమ్ డైరెక్టరీలు తరచుగా బాక్స్లోని ప్రతి యూజర్ చదవగలిగేలా సృష్టించబడతాయి, కాబట్టి మీ స్వంతాన్ని గట్టి చేయండి: chmod 750 /home/youruser. ls -ld /home/* తో తనిఖీ చేయండి మరియు ఏజెంట్ ఖాతా జాబితా చేయగలిగే దేనినైనా సరిచేయండి.
ప్రతి టోకెన్ను పరిధిలో ఉంచండి. ఒక రిపోజిటరీకి పరిమితమైన చక్కని-గ్రెయిన్డ్ GitHub టోకెన్, లేదా ప్రతి-రిపోజిటరీ డిప్లాయ్ కీ, అంటే లీక్ అయిన క్రెడెన్షియల్ ఒక ప్రాజెక్ట్ను కోల్పోతుంది, మీ మొత్తం ఖాతాను కాదు. మీరు సాండ్బాక్స్ ఉపయోగిస్తే, దాని క్రెడెన్షియల్ సెట్టింగ్లను జోడించండి, తద్వారా ~/.ssh మరియు ~/.aws చదవడానికి కూడా నిరాకరించబడతాయి. మరియు ప్రొడక్షన్ క్రెడెన్షియల్స్ను బాక్స్లో ఉంచవద్దు, ఎందుకంటే ఏజెంట్ ఎప్పుడూ లేని రహస్యాన్ని లీక్ చేయలేదు.
గిట్ అనేది భద్రతా వలయం
ఏజెంట్ చేసే ప్రతి మార్పు సమీక్షించదగినదిగా మరియు తిరిగి మార్చదగినదిగా ఉండాలి. ఏజెంట్ ఒక బ్రాంచ్లో పనిచేస్తే, గిట్ ఈ రెండు సౌలభ్యాలను ఉచితంగా అందిస్తుంది:
git switch -c agent/refactor-authgit diff main...agent/refactor-auth తో రన్ తర్వాత సమీక్షించండి, మంచి మార్పులను విలీనం చేయండి. రన్ ఎక్కడికీ దారితీయకపోతే బ్రాంచ్ను తొలగించండి. ఫోర్జ్ వైపు ప్రధాన బ్రాంచ్ను రక్షించండి, తద్వారా ఏజెంట్ టోకెన్ దానిపైకి పుష్ చేయలేదు మరియు ఎక్కడికీ ఫోర్స్-పుష్ చేయలేదు. కమిట్ హిస్టరీ మీరు నిద్రిస్తున్నప్పుడు ఏమి జరిగిందో దాని ఆడిట్ లాగ్గా పనిచేస్తుంది - ఇది ఏ టెర్మినల్ స్క్రోల్బ్యాక్ కంటే ఎక్కువ విలువైనది.
నెట్వర్క్ బ్లాస్ట్ రేడియస్లో భాగం
ఒక ఏజెంట్ curl ను అమలు చేయగలదు. ఆ వాక్యమే మొత్తం ఎగ్రెస్ సమస్య: ఏజెంట్ చదవగలిగినదాన్ని, అది ఎక్కడికైనా పంపగలదు, మరియు ప్రాంప్ట్-ఇంజెక్ట్ చేయబడిన ఏజెంట్ అలా చేయవచ్చు. సాధారణ అన్ప్రివిలేజ్డ్ యూజర్ దీనిని ఏమాత్రం పరిమితం చేయదు, ఎందుకంటే ఏ యూజర్ అయినా సర్వర్ చేరుకోగలిగిన దేనినైనా చేరుకోగలడు. శాండ్బాక్స్ దాని ప్రాక్సీ ద్వారా డొమైన్ ద్వారా దీనిని పరిమితం చేస్తుంది. కంటైనర్ దాని స్వంత ఫైర్వాల్ నియమాలతో దీనిని పరిమితం చేయగలదు. డెడికేటెడ్ VPS మొదటగా లీక్ అవ్వడానికి ఏముందో పరిమితం చేస్తుంది, ఇది మూడింటిలో అత్యంత బలమైన సమాధానం.
ufw తో మాత్రమే ఎగ్రెస్ ను పరిష్కరించడానికి ప్రయత్నించవద్దు. ufw డిఫాల్ట్గా అన్ని అవుట్గోయింగ్ ట్రాఫిక్ను అనుమతిస్తుంది, మరియు apt, npm, git, మరియు Claude API ను ఇంకా అనుమతించే అవుట్బౌండ్ నియమాలను రాయడం అనేది నిశ్శబ్దంగా విఫలమయ్యే చిక్కటి పని. బదులుగా శాండ్బాక్స్, కంటైనర్, లేదా మెషిన్ స్థాయిలో సరిహద్దును ఎంచుకోండి, ఇక్కడ డొమైన్ అనుమతి జాబితా లేదా బేర్ మెషిన్ అదే పనిని శుభ్రంగా చేస్తాయి.
మీరు Claude Code ను అమలు చేయకుండా API కి వ్యతిరేకంగా మీ స్వంత ఏజెంట్ను నిర్మిస్తున్నట్లయితే, అదే ఆలోచన మార్పు లేకుండా వర్తిస్తుంది. VPS పై Claude తో AI ఏజెంట్ నిర్మించడం ఆ మార్గాన్ని కవర్ చేస్తుంది, మరియు దాని ఏజెంట్ కు అదే డెడికేటెడ్ యూజర్, అదే స్కోప్ చేయబడిన టోకెన్లు, మరియు అదే డిస్పోజబుల్ బాక్స్ అర్హమైనవి.
ముందుగా బాక్స్ను సురక్షితం చేయండి
మీరు ఏ మెట్టును ఎంచుకున్నా, ఏజెంట్ ప్రవేశించే ముందు యంత్రానికి ప్రాథమిక అవసరాలు ఉండాలి: SSH కీలు మాత్రమే, రూట్ లాగిన్ లేదు, డిఫాల్ట్-నిరాకరించు ఫైర్వాల్, స్వయంచాలక భద్రతా నవీకరణలు. ఇక్కడ మీ చెక్లిస్ట్ను రూపొందించుకోండి మరియు ఒకసారి దాన్ని పూర్తి చేయండి:
FAQ
--dangerously-skip-permissions ఫ్లాగ్ సర్వర్లో ఉపయోగించడం సురక్షితమేనా?
దానంతట అది సురక్షితం కాదు. ఈ ఫ్లాగ్ అన్ని అనుమతి ప్రాంప్ట్లను తీసివేస్తుంది, కాబట్టి మోడల్ ఉత్పత్తి చేసిన వెంటనే మొదటి చెడు కమాండ్ అమలు అవుతుంది. పేలుడు వ్యాసార్థం (blast radius) నియంత్రించబడినప్పుడు ఇది రక్షించదగిన ట్రేడ్-ఆఫ్ అవుతుంది: కనీసం ఒక ప్రత్యేక అన్ప్రివిలేజ్డ్ యూజర్, మరియు నిజంగా పర్యవేక్షణ లేని పని కోసం కంటైనర్ లేదా ఒక ప్రాజెక్ట్ మరియు ఒక స్కోప్డ్ టోకెన్ మాత్రమే కలిగి ఉన్న డిస్పోజబుల్ VPS. ప్రొడక్షన్ క్రెడెన్షియల్స్ లేదా మీరు కోల్పోలేని డేటాను కలిగి ఉన్న మెషీన్లో దీన్ని ఎప్పుడూ ఉపయోగించవద్దు.
Claude Codeకి సాండ్బాక్స్ ఉందా?
అవును. Claude Code షెల్ కమాండ్ల కోసం అంతర్నిర్మిత సాండ్బాక్స్ను కలిగి ఉంది, ఇది /sandbox కమాండ్తో తెరవబడుతుంది. ఇది Linuxలో bubblewrap మరియు macOSలో Seatbeltని ఉపయోగిస్తుంది, ప్రాజెక్ట్ డైరెక్టరీకి రైట్లను పరిమితం చేస్తుంది మరియు నెట్వర్క్ యాక్సెస్ను అనుమతించబడిన డొమైన్లను మాత్రమే అనుమతించే ప్రాక్సీ ద్వారా రూట్ చేస్తుంది. దీని ఆటో-అలౌ మోడ్ ప్రాంప్ట్లు లేకుండా సాండ్బాక్స్డ్ కమాండ్లను అమలు చేస్తుంది, కాబట్టి ఇది స్కిప్ ఫ్లాగ్ చేసే విధంగా అంతరాయాలను తగ్గిస్తుంది, అదే సమయంలో OS-అమలు చేయబడిన సరిహద్దును ఉంచుతుంది. ఇది పూర్తి ఐసోలేషన్ సరిహద్దు కాదు, కాబట్టి పర్యవేక్షణ లేని రన్ల కోసం దీన్ని ప్రత్యేక యూజర్ లేదా ప్రత్యేక మెషీన్తో జత చేయండి.
స్కిప్ ఫ్లాగ్ రూట్గా అమలు చేయడానికి ఎందుకు నిరాకరిస్తుంది?
ఎందుకంటే అనుమతి ప్రాంప్ట్లు లేని రూట్ సిస్టమ్లోని ఏదైనా ఫైల్ మరియు ఏదైనా సర్వీస్ను మార్చగలదు, Claude Code Linux మరియు macOSలో రూట్గా లేదా sudo కింద అమలు అయినప్పుడు --dangerously-skip-permissionsని బ్లాక్ చేస్తుంది. పరిష్కారం చెక్తో పోరాడటం కాదు. ఏజెంట్ కోసం అన్ప్రివిలేజ్డ్ యూజర్ను సృష్టించి, అక్కడ అమలు చేయండి; ఆ అకౌంట్ సరిహద్దు కంటైన్మెంట్ యొక్క మొదటి మరియు అతి చౌకైన పొర.
Claude Code నా SSH కీలు మరియు .env ఫైల్లను చదవగలదా?
ఇది తాను అమలు అయ్యే యూజర్ చదవగలిగేదంతా చదవగలదు, మరియు సాండ్బాక్స్ యొక్క డిఫాల్ట్ పాలసీ కూడా మీరు వాటిని నిరాకరించే వరకు క్రెడెన్షియల్ పాత్లను చదవడానికి అనుమతిస్తుంది. కాబట్టి ఏజెంట్ను దాని స్వంత యూజర్గా అమలు చేయండి, మీ స్వంత హోమ్ డైరెక్టరీని మోడ్ 750 లేదా అంతకంటే కఠినంగా ఉంచండి, సాండ్బాక్స్ సెట్టింగ్లలో క్రెడెన్షియల్ పాత్లను నిరాకరించండి మరియు ప్రొడక్షన్ సీక్రెట్లను మెషీన్లో ఉంచవద్దు. బాక్స్ ఎప్పుడూ కలిగి లేని సీక్రెట్ చదవబడదు లేదా లీక్ కాదు.
Claude Codeను పర్యవేక్షణ లేకుండా అమలు చేయడానికి సురక్షితమైన మార్గం ఏమిటి?
ఏజెంట్ పని కోసం మాత్రమే ఉపయోగించే చౌకైన ప్రత్యేక VPS: పది నిమిషాల్లో హార్డెన్ చేయబడింది, క్లీన్ స్నాప్షాట్ తీయబడింది, సాండ్బాక్స్ ఆన్లో అన్ప్రివిలేజ్డ్ యూజర్ కింద Claude Codeను అమలు చేస్తుంది, API కీని కలిగి ఉన్న మోడ్-600 ఫైల్, ప్రతి రిపోజిటరీకి డిప్లాయ్ కీ, మరియు మీరు మర్జ్ చేయడానికి ముందు సమీక్షించే బ్రాంచ్లపై అన్ని పని. ఒక రన్ తప్పు అయితే, మీరు ఒక టోకెన్ను రద్దు చేసి స్నాప్షాట్ను పునరుద్ధరించండి, మరియు మీరు కలిగి ఉన్న మరేదీ ప్రభావితం కాదు.