Lasi la AI Fari Gxin
Mi bezonis dev-servilon: VM-on kun SSH-aliro kaj instalitaj dev-iloj. Mi priskribis al Claude Code kion mi volis kaj lasis gxin trakti la agordon.
La Instigo
Mi petis Vultr VM-on kun 8 kernoj kaj 32GB da RAM, alireblan nur tra Tailscale, kun persistaj sesioj kiuj postvivas retajn interrompojn.
Kion Claude Code Konstruis
1. Provizis la VM-on tra Vultr API
Gxi kreis 8-kernan/32GB Ubuntu instancon, atendis la IP-on, kaj poste SSH-is kiel root.
2. Fortikigis SSH
Port 49152 # Hazarda alta pordo
PermitRootLogin no
PasswordAuthentication no
ListenAddress 100.x.x.x # Nur Tailscale-interfaco
Nur sxlosil-bazita auxtentikigo, auxskultante nur sur la Tailscale-interfaco.
3. Agordis tri tavolojn de fajrosxirmilo
- UFW: Rifuzi cxiun enirantan trafikon krom Tailscale-subreto
- fail2ban: Auxtomate forbari IP-ojn post malsukcesaj ensalutaj provoj
- Vultr-fajrosxirmilo: Bloki cxion sur hipervizora nivelo
4. Instalis Tailscale kun ebligita SSH
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up --ssh --authkey=$TAILSCALE_KEY
Cxi tio kreas duan SSH-vojon tra la enkonstruita SSH-servilo de Tailscale, sendependa de OpenSSH.
5. Instalis la dev-stakon
Node.js (tra nvm), Python (tra pyenv), Docker, kaj komunaj iloj. Agordis Docker por funkcii sen sudo.
6. Agordis persistajn sesiojn kun tmux
Startskripto kiu auxtomate rekonektigxas al ekzistanta sesio, por ke retaj interrompoj ne mortigu rulantajn procezojn.
7. Kreis lokajn administrajn skriptojn
dev-start kaj dev-stop skriptojn sur mia tekkomputilo kiuj startigas kaj haltigas la VM-on tra la Vultr API.
La Sxlosado
Post fino, Claude Code kontrolis ke root-ensaluto estis malebligita provante SSH-i kiel root. La ensaluto malsukcesis. fail2ban rimarkis la malsukcesajn provojn kaj forbaris nin.
Claude Code estis agordinta Tailscale SSH kiel sekundaran vojon. Gxi uzis tailscale ssh por reeniri kaj plenumis:
fail2ban-client set sshd unbanip 100.x.x.x
Agordo
Vi bezonos:
- Claude Code (aux similan AI-on kun il-uzado)
- Nuban provizantan konton (Vultr, DigitalOcean, AWS, ktp.)
- Tailscale-konton
Stoku API-sxlosilojn kiel mediajn variablojn kaj referencu ilin laux nomo (ekz., $VULTR_API_KEY) por ke sekretoj ne aperu en la konversacio.
Ekzempla instigo:
Kreu 8-kernan VM-on sur Vultr, sxlosu gxin por ke gxi estu alirebla nur tra Tailscale, agordu Node/Python/Docker, kaj donu al mi skriptojn por startigi kaj haltigi gxin.