Node Setup & Configuration
Prerequisites
Each machine needs:
- SSH access to the CMS droplet (
cms-dropletalias or equivalent) - Claude CLI installed with MCP support
~/.claude-net/directory with the MCP server and config
Config File
Each node has ~/.claude-net/config.json:
{
"name": "machine-name",
"sshHost": "cms-droplet"
}
The name field is how this node appears in the network. The sshHost must resolve to the DO CMS droplet.
Adding a New Node
- Set up SSH access to
cms-droplet(178.128.183.166) from the new machine - Copy the
~/.claude-net/MCP server files to the new machine - Create
~/.claude-net/config.jsonwith a unique machine name - Register the MCP server in the machine’s Claude CLI config
- Test with
claude_net_machines()— the node should appear in the list
Current Network (February 2026)
Four nodes across three developers:
| Node | Developer | SSH to Hub |
|---|---|---|
| laptop | Chas | ssh cms-droplet |
| ser-8 | Chas | ssh cms-droplet |
| sean | Sean | ssh cms-droplet |
| jaz | Jaz | ssh cms-droplet |
SSH Key Access for Developers
Developers also have direct SSH access to production servers for deployment:
| Developer | Servers | Key Pattern |
|---|---|---|
| Chas | All servers | Various keys per server |
| Sean | OVH2, OVH3 | ovh2_sean, ovh3_sean |
| Jaz | OVH2, OVH3 | ovh2_jaz, ovh3_jaz |
Ser-8 Hostinger Access
Ser-8 has dedicated SSH access to Hostinger for rebuilding the lifeonroatan.com website:
| Item | Details |
|---|---|
| Key | ~/.ssh/hostinger_lifeonroatan (ed25519) |
| SSH alias | ssh hostinger from ser-8 |
| Target | u578339199@88.223.84.186:65002 |
| Web root | ~/domains/lifeonroatan.com/public_html/ |
Fail2ban Considerations
All OVH servers have fail2ban (3 retries → 24h ban). Developers connecting via SSH should use -o IdentitiesOnly=yes to avoid offering too many keys and getting banned.
To unban: sudo fail2ban-client set sshd unbanip <IP>