GestioneSSHCertificati: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
= 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 == | |||
<div class="mw-collapsible mw-collapsed" style="width:100%"> | |||
<div class="mw-collapsible-content"> | |||
=== 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: | |||
echo "[INFO] Genero | |||
<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> | |||
</div> | |||
</div> | |||
== Script Automatico == | |||
<div class="mw-collapsible mw-collapsed" style="width:100%"> | |||
<div class="mw-collapsible-content"> | |||
=== Script Bash: setup_ssh_keys.sh === | |||
<syntaxhighlight lang="bash"> | |||
#!/bin/bash | |||
# Script da eseguire su manager01.gazzi.local | |||
# 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 | |||
# Elenco degli host remoti | |||
HOSTS=("web01.gazzi.local" "db01.gazzi.local" "app01.gazzi.local") | |||
# 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" | ssh-keygen -t ed25519 -C "manager01.gazzi.local" -N "" -f "$HOME/.ssh/id_ed25519" | ||
else | |||
echo "[INFO] Chiave SSH già esistente | echo "[INFO] Chiave SSH già esistente, salto la creazione." | ||
fi | |||
# 2. Copia della chiave SSH su ciascun host remoto | |||
for HOST in "${HOSTS[@]}"; do | |||
echo "[INFO] Copio la chiave SSH su $HOST..." | echo "[INFO] Copio la chiave SSH su $HOST..." | ||
ssh-copy-id "${REMOTE_USER}@${HOST}" | ssh-copy-id "${REMOTE_USER}@${HOST}" | ||
done | |||
echo "[FINE] Configurazione completata." | |||
</syntaxhighlight> | |||
</div> | |||
</div> | |||
== 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 == | |||
* [https://man.openbsd.org/ssh-keygen ssh-keygen man page] | |||
* [https://man.openbsd.org/ssh-copy-id ssh-copy-id man page] |
Versione delle 19:34, 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">
- !/bin/bash
- Script da eseguire su manager01.gazzi.local
- 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
- Elenco degli host remoti
HOSTS=("web01.gazzi.local" "db01.gazzi.local" "app01.gazzi.local")
- 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
- 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.