#!/bin/bash # Read the server list from the specified file SERVER_LIST_FILE="servers.conf" SERVER_LIST=() while IFS= read -r SERVER || [ -n "$SERVER" ]; do SERVER_LIST+=("$SERVER") done < "$SERVER_LIST_FILE" # Read the public SSH key from the update server UPDATE_SERVER="192.168.1.100" # replace with your update server IP address PUBLIC_KEY=$(ssh username@${UPDATE_SERVER} "cat ~/.ssh/id_rsa.pub") # Loop through the server list and add the public key to the authorized_keys file of each server for SERVER in "${SERVER_LIST[@]}" do # Establish SSH connection to remote server and add the public key to the authorized_keys file ssh username@${SERVER} "mkdir -p ~/.ssh && echo '${PUBLIC_KEY}' >> ~/.ssh/authorized_keys" echo "Public key added to authorized_keys on server ${SERVER}" done