Overview

This document outlines the transition from ad-hoc SSH practices to a structured, config-driven approach for managing distributed server fleets. It emphasizes abstracting network complexity via SSH configurations, implementing identity-based authentication, and ensuring network stability through centralized DHCP management.

Problem

Managing a distributed fleet of machines via raw IP addresses (ssh user@192.168.1.50) is unscalable, error-prone, and hinders automation. Ad-hoc connection methods create friction, inconsistent security posture, and no standardized lateral movement capability.

Solution

Shift from ad-hoc connections to config-driven fleet management using ~/.ssh/config as the infrastructure atlas:

  1. Host Aliases: Define every machine as a named host (e.g., Host nas, Host pi), abstracting the network layer from the management layer and codifying connection parameters (users, ports, keys, keep-alive intervals).

  2. Identity-Based Auth: Enforce Ed25519 keys with PasswordAuthentication no and PermitRootLogin no on every daemon. A “One Key, Many Machines” strategy works for personal fleets; larger environments use per-machine keys managed by an SSH agent.

  3. Deterministic Addressing: Use DHCP reservations at the router level (not static IPs on devices) for centralized, auditable addressing that survives device reconfiguration.

  4. ProxyJump Traversal: As networks segment, use a jump host as a trusted intermediary. Configure ProxyJump in the client config for transparent multi-hop access without manually hopping between terminals.

  5. Transport & Automation: The hardened SSH layer becomes the backbone for internal logistics — scp and rsync inherit config aliases, enabling readable one-line backup commands. Remote execution (ssh pi "sudo apt update") enables headless fleet management.

Usage

Apply this pattern when managing more than 2-3 machines over SSH. The config-driven approach scales from a small homelab to a fleet of dozens of nodes. Essential when implementing automated backup scripts, fleet-wide updates, or CI/CD self-hosted runners.

Trade-offs

Advantages:

  • Abstracts network complexity into simple, memorable commands.
  • Enforces consistent security posture across all connections.
  • Enables automation tooling (rsync, scp) to inherit secure configurations.
  • ProxyJump makes network segmentation transparent to operators.

Disadvantages:

  • Requires initial setup investment to define all hosts and distribute keys.
  • DHCP reservation dependency means router reconfiguration during migrations.
  • Single key compromise in “One Key, Many Machines” model affects the entire fleet.

Source

Synthesized from Aloysius Productions organizational blueprint on SSH fleet management architecture.