Skip to main content
SSH gives you direct shell access to any node in your brain mesh. You can use it to inspect running services, tail logs, restart containers, and diagnose issues that aren’t visible through higher-level tooling.

Which nodes support SSH

All five nodes in the Jarvis brain mesh accept SSH connections:
NodePrimary role
ai-maxPrimary GPU node — model inference
ai-mini-x1Secondary GPU node — overflow inference
jarvis-brainOrchestration and agent coordination
dell-microUtility node — automation and storage
synologynasNAS — persistent storage and backups
Use the node’s hostname if your local DNS resolves it, or its LAN IP address if not. Replace your-node-hostname in the examples below with the actual hostname or IP for the node you’re connecting to.

Connection syntax

ssh your-user@ai-max
For any node using a non-standard port:
ssh -p 2222 your-user@your-node-hostname

SSH key setup

Password authentication is discouraged. Set up key-based authentication once and you won’t need to enter a password again.
1

Generate a key pair (if you don't have one)

ssh-keygen -t ed25519 -C "jarvis-mesh"
Accept the default path (~/.ssh/id_ed25519) or specify a custom path.
2

Copy your public key to a node

ssh-copy-id your-user@your-node-hostname
Repeat this for each node you want to access.
3

Verify key-based login

ssh your-user@your-node-hostname
If you’re not prompted for a password, key authentication is working.
Add an SSH config file at ~/.ssh/config to create short aliases for each node. For example:
Host brain
  HostName jarvis-brain
  User your-user
  IdentityFile ~/.ssh/id_ed25519

Host gpu
  HostName ai-max
  User your-user
  IdentityFile ~/.ssh/id_ed25519
With this in place, ssh brain connects you to jarvis-brain instantly.

Common SSH use cases in Jarvis

Tail Docker logs in real time
ssh your-user@your-node-hostname "docker logs -f ollama"
Check GPU utilization on ai-max
ssh your-user@ai-max "nvidia-smi"
Restart a container remotely
ssh your-user@your-node-hostname "docker restart litellm"
List running containers on a node
ssh your-user@your-node-hostname "docker ps"

Troubleshooting connection issues

The SSH daemon may not be running on the target node. Log into the machine physically or via another access method and run:
sudo systemctl status ssh
sudo systemctl start ssh
Also check whether a firewall is blocking port 22:
sudo ufw status
Your public key is not authorized on the remote node. Either copy it with ssh-copy-id or manually append the contents of your ~/.ssh/id_ed25519.pub to ~/.ssh/authorized_keys on the remote host.Also verify the permissions on the remote ~/.ssh directory:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
The node’s host key has changed, which happens after an OS reinstall or hostname change. Remove the old entry from your known hosts file:
ssh-keygen -R your-node-hostname
Then reconnect and accept the new host key.
The node may be offline or unreachable on your LAN. Ping the node to check basic connectivity:
ping your-node-hostname
If it doesn’t respond, check that the machine is powered on and connected to the network.

Next steps

Docker operations

Manage containers and services once you’re connected to a node.

Mesh nodes

Learn what each node does and how they relate to one another.