GestioneSSHCertificati
Vai alla navigazione
Vai alla ricerca
Obiettivo: configurare l'accesso SSH senza password da manager01.gazzi.local verso altre macchine Linux tramite chiavi SSH. 1. **Generazione chiavi SSH (sul nodo monitor01)** ssh-keygen -t rsa -b 4096 -C "monitor01" -f ~/.ssh/id_rsa - Non inserire una passphrase se vuoi accesso automatico. - Il file pubblico sarà ~/.ssh/id_rsa.pub 2. **Distribuzione della chiave pubblica agli host remoti** Per ogni macchina remota: ssh-copy-id utente@host_remoto Oppure, manualmente: cat ~/.ssh/id_rsa.pub | ssh utente@host_remoto 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh' 3. **Verifica connessione** ssh utente@host_remoto -> non dovrebbe richiedere la password 4. **Automazione (script `setup_ssh_keys.sh`)** Lo script automatizza i punti 1 e 2.
---setup_ssh_keys.sh
#!/bin/bash # Script da eseguire su manager01.gazzi.local # Scopo: configurare chiavi SSH e copiarle ai nodi remoti # === CONFIGURA QUI === REMOTE_USER="nome_utente_remoto" HOSTS=("host1.gazzi.local" "host2.gazzi.local" "host3.gazzi.local") KEY_PATH="$HOME/.ssh/id_rsa" # ===================== # 1. Genera la chiave se non esiste if [ ! -f "$KEY_PATH" ]; then echo "Generazione chiave SSH..." ssh-keygen -t rsa -b 4096 -C "monitor01.gazzi.local" -f "$KEY_PATH" -N "" else echo "Chiave SSH già presente: $KEY_PATH" fi # 2. Copia la chiave pubblica alle macchine remote for host in "${HOSTS[@]}"; do echo "Copia della chiave su $host..." ssh-copy-id "$REMOTE_USER@$host" done echo "Configurazione completata. Verifica con: ssh $REMOTE_USER@<host>"