GestioneSSHCertificati: differenze tra le versioni

Da GazziNet.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
= Configurare Accesso SSH con Chiavi da manager01.gazzi.local =
= Configurare Accesso SSH con Chiavi da manager01.gazzi.local =



Versione delle 19:40, 29 apr 2025


Configurare Accesso SSH con Chiavi da manager01.gazzi.local

Introduzione

Questa guida spiega come generare una chiave SSH su manager01.gazzi.local e copiarla su altre macchine per permettere l'accesso senza password.

Procedura Manuale

1. Generare la Chiave SSH

Aprire il terminale su manager01.gazzi.local e lanciare:

<syntaxhighlight lang="bash"> ssh-keygen -t ed25519 -C "manager01.gazzi.local" </syntaxhighlight>

Premere sempre INVIO per accettare i percorsi di default e lasciare la passphrase vuota.

2. Copiare la Chiave Sulle Macchine Remote

Per ogni macchina su cui vuoi autenticarti senza password, eseguire:

<syntaxhighlight lang="bash"> ssh-copy-id utente@host_remoto </syntaxhighlight>

Esempio pratico:

<syntaxhighlight lang="bash"> ssh-copy-id root@web01.gazzi.local </syntaxhighlight>

3. Testare la Connessione

Verificare che la connessione SSH ora avvenga senza password:

<syntaxhighlight lang="bash"> ssh utente@host_remoto </syntaxhighlight>

Script Automatico

Script Bash: setup_ssh_keys.sh

<syntaxhighlight lang="bash">

  1. !/bin/bash
  1. Script da eseguire su manager01.gazzi.local
  2. Crea la chiave SSH (se non esiste) e la copia su una lista di host remoti

read -p "Inserisci il nome utente per le macchine remote: " REMOTE_USER

  1. Elenco degli host remoti

HOSTS=("web01.gazzi.local" "db01.gazzi.local" "app01.gazzi.local")

  1. 1. Generazione della chiave SSH se assente

if [ ! -f "$HOME/.ssh/id_ed25519" ]; then

   echo "[INFO] Genero 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 creazione."

fi

  1. 2. Copia della chiave SSH su ciascun host remoto

for HOST in "${HOSTS[@]}"; do

   echo "[INFO] Copio la chiave SSH su $HOST..."
   ssh-copy-id "${REMOTE_USER}@${HOST}"

done

echo "[FINE] Configurazione completata." </syntaxhighlight>

Esecuzione dello Script

<syntaxhighlight lang="bash"> chmod +x setup_ssh_keys.sh ./setup_ssh_keys.sh </syntaxhighlight>

Note Importanti

  • La chiave privata deve essere protetta. Non condividerla mai.
  • La chiave pubblica può essere distribuita liberamente.
  • Se un host remoto ha una porta SSH diversa dalla 22, modificare ssh-copy-id aggiungendo l'opzione -p PORTA.

Collegamenti Utili