onboard: le chiavi dei server in known_hosts, e verifica dice perche' non entri
Marco Laterza, amministratore, si e' visto dire "produzione: non entri (normale se non hai il ruolo di rilascio...)" con la chiave gia' sul server: al suo PC mancava la chiave host della macchina nuova, e con BatchMode=yes ssh rifiuta un host sconosciuto senza provare la chiave. configura.sh scrive in ~/.ssh/known_hosts le chiavi di server.known_hosts, lette sulle tre macchine l'08/10/2026, togliendo prima quelle vecchie per gli stessi nomi. verifica.sh legge l'errore di ssh: giallo solo se il server rifiuta la chiave personale, rosso con il rimedio per chiave host mancante o cambiata e per il blocco dopo troppi tentativi. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+18
-1
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# PREPARA IL PC: accesso Gitea, accesso AWS, git, chiave SSH, nomi dei server.
|
||||
# PREPARA IL PC: accesso Gitea, accesso AWS, git, chiave SSH, nomi e chiavi dei server.
|
||||
#
|
||||
# ./configura.sh
|
||||
#
|
||||
@@ -229,6 +229,23 @@ BLOCCO="$BLOCCO$FINE_BLOCCO"
|
||||
&& mv "$CONFIG.nuovo" "$CONFIG" && chmod 600 "$CONFIG"
|
||||
ok "ssh $STAGING_NOME, ssh $PRODUZIONE_NOME e ssh $PRODUZIONE_VECCHIA_NOME: configurati"
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
titolo "5. Chiavi dei server in ~/.ssh/known_hosts"
|
||||
# --------------------------------------------------------------------------
|
||||
# Quelle di server.known_hosts, lette sulle macchine: cosi' il primo
|
||||
# collegamento non chiede "Are you sure you want to continue connecting?",
|
||||
# e la risposta non dipende da chi e' in mezzo alla rete quel giorno. Quelle
|
||||
# che c'erano per gli stessi nomi si tolgono prima (ssh-keygen ne lascia una
|
||||
# copia in known_hosts.old): una vecchia rimasta li' farebbe dire a ssh che
|
||||
# il server e' cambiato.
|
||||
NOTI="$HOME/.ssh/known_hosts"
|
||||
touch "$NOTI" && chmod 600 "$NOTI"
|
||||
for H in $(grep -v '^#' server.known_hosts | awk 'NF {print $1}' | sort -u) ; do
|
||||
ssh-keygen -R "$H" -f "$NOTI" > /dev/null 2>&1
|
||||
done
|
||||
grep -v '^#' server.known_hosts | awk 'NF' >> "$NOTI"
|
||||
ok "chiavi di $STAGING_NOME, $PRODUZIONE_NOME e $PRODUZIONE_VECCHIA_NOME registrate"
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
titolo "Fatto"
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user