GestioneSSHCertificati: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
(4 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
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 | |||
ssh | echo "Copia della chiave su $host..." | ||
ssh-copy-id "$REMOTE_USER@$host" | |||
done | |||
echo "Configurazione completata. Verifica con: ssh $REMOTE_USER@<host>" | |||
=== | |||
== | |||
=== | |||
# | |||
if [ ! -f "$ | |||
else | |||
fi | |||
# 2. Copia | |||
for | |||
done | |||
echo " | |||
< | |||
Versione attuale delle 07:40, 30 apr 2025
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>"