Git Codebase - Sn0wlink IT
SSH Sync Manager

Code: Download ZIP




README

Sn0wlinks SSH User Manager

Author: David Collins-Cubitt
Date: August 2023

Sn0wlinks SSH User Manager is a simple shell-based tool for synchronising SSH client configuration and propagating authorised SSH public keys across multiple remote hosts.
It is designed to make adding or removing users easy in medium to large server clusters without manual per-host key management.


Purpose


How It Works

  1. Copies a predefined SSH client config into the local user’s ~/.ssh/
  2. Iterates over a list of hosts
  3. Replaces the remote user’s authorized_keys file on each host
  4. Disables host key prompts to allow unattended execution

File Overview

File Description
config SSH client configuration copied to ~/.ssh/config
hosts.sh Plain-text list of SSH targets (one per line)
publickeys.sh Combined public keys file to deploy as authorized_keys
script.sh The main execution script

Script Logic

Update Local SSH Configuration

Shell

Show more lines

Overwrites the local SSH client configuration with the managed version.


Push Authorized Keys to Remote Hosts

Shell

Show more lines


Completion Confirmation

Shell

Show more lines


Requirements


Security Notes ⚠️

Shell


Typical Use Cases


Limitations