Skip to content

!/bin/bash

SSH Key Management for Gaisro Technika Fleet

Deploys SSH public keys to all devices for passwordless access

SSH Key Location

Store your SSH public keys in: config/ssh-keys/authorized_keys

Multiple keys can be added, one per line:

ssh-rsa AAAAB3NzaC1yc... user1@host

ssh-ed25519 AAAAC3NzaC1... user2@host

SSH_KEYS_FILE="config/ssh-keys/authorized_keys"

Verify key file exists

if [ ! -f "$SSH_KEYS_FILE" ]; then echo "ERROR: SSH keys file not found: $SSH_KEYS_FILE" echo "Create the file with your public keys:" echo " mkdir -p config/ssh-keys" echo " cat ~/.ssh/id_ed25519.pub > config/ssh-keys/authorized_keys" exit 1 fi

echo "SSH Public Keys Configuration" echo "==============================" echo "" echo "Location: $SSH_KEYS_FILE" echo "Keys loaded:" wc -l < "$SSH_KEYS_FILE" echo "" echo "Configured keys:" cat "$SSH_KEYS_FILE" | sed 's/^/ /' echo "" echo "Deployment via: ./scripts/sync-device-configs.sh --all" echo "" echo "Options:" echo " --ssh-keys Use custom SSH keys file (default: config/ssh-keys/authorized_keys)" echo "" echo "Examples:" echo " # Deploy default keys to all devices" echo " ./scripts/sync-device-configs.sh --all" echo "" echo " # Deploy custom keys to all devices" echo " ./scripts/sync-device-configs.sh --all --ssh-keys ~/.ssh/authorized_keys" echo "" echo " # Deploy to single device" echo " ./scripts/sync-device-configs.sh --device rpi-001" echo "" echo "Remote Setup (on device):" echo " SSH keys are deployed to: ~/.ssh/authorized_keys" echo " Permissions set to: 600 (user read/write only)" echo " Directory permissions: 700 (user only)" echo "" echo "Testing SSH Access:" echo " ssh pi@192.168.1.101 # Connect to rpi-001 (no password needed)" echo ""