GestioneSSHCertificati
1. Generare la coppia di chiavi SSH sul nodo manager (manager01.gazzi.local):
$ ssh-keygen -t ed25519 -C "manager01.gazzi.local"
Premi INVIO per ogni domanda per usare i valori di default.
2. Copiare la chiave pubblica sulle macchine di destinazione:
$ ssh-copy-id utente@host_remoto
Esempio:
$ ssh-copy-id root@web01.gazzi.local
Questo comando: - Inserisce la chiave pubblica nella macchina remota - Permette connessioni SSH senza inserire password
3. Testare la connessione:
$ ssh utente@host_remoto
Non dovrebbe essere richiesta alcuna password. Note:
- Le chiavi vengono salvate in ~/.ssh/id_ed25519 (privata) e ~/.ssh/id_ed25519.pub (pubblica) - Proteggi sempre la chiave privata (non copiarla, non condividerla)
#!/bin/bash # Script da lanciare su manager01.gazzi.local # Genera una chiave SSH e la copia su una lista di host remoti read -p "Inserisci il nome utente per le macchine remote: " REMOTE_USER # Lista delle macchine a cui vuoi connetterti HOSTS=("web01.gazzi.local" "db01.gazzi.local" "app01.gazzi.local") # 1. Generazione della chiave SSH se non esiste if [ ! -f "$HOME/.ssh/id_ed25519" ]; then echo "[INFO] Genero una nuova coppia di chiavi SSH..." ssh-keygen -t ed25519 -C "manager01.gazzi.local" -N "" -f "$HOME/.ssh/id_ed25519" else echo "[INFO] Chiave SSH già esistente. Salto la generazione." fi
# 2. Copia della chiave pubblica verso i target for HOST in "${HOSTS[@]}"; do echo "[INFO] Copio la chiave SSH su $HOST..." ssh-copy-id "${REMOTE_USER}@${HOST}" done
echo "[FINE] Configurazione completata. Puoi ora connetterti senza password."