#!/usr/bin/bash # Notice : # avant de runner le script, il faut mettre à jour le fichier de conf # avec le bon serial dans ansible # (ansible ne relance pas sshd, donc il n'y a pas de risque de panne) # Temps d'exécution moyen : 3h # Le serial doit être identique à la variable ansible SERIAL="1" # list of hosts available: "blackbird falcon nsa nsb nsc nsd nse # packardmerlin prattandwhitney rollsroyce" SERVERHOST="blackbird" KEYDIR="$HOME/park-admin/ssh/" PRIVATEKEY="$KEYDIR/$SERVERHOST/etc/ssh/ssh_host_ed25519_key.$SERIAL" PUBKEY="${PRIVATEKEY}.pub" MODULE="$KEYDIR/$SERVERHOST/etc/ssh/moduli.$SERIAL" CANDIDATES="${MODULE}.candidates" export PRE="\e[93m[!]\e[0m:" # Partie génération des clés ssh-keygen -t ed25519 -N "" -C "" -f $PRIVATEKEY ssh-keygen -G $CANDIDATES -b 4096 ssh-keygen -T $MODULE -f $CANDIDATES rm -f $CANDIDATES chmod 644 $MODULE chmod 640 $PRIVATEKEY chmod 644 $PUBKEY # Partie déploiement scp $KEYDIR/$SERVERHOST/etc/ssh/* $SERVERHOST:/etc/ssh/ ssh $SERVERHOST chown root:ssh_keys /etc/ssh/ssh_host_ed25519_key.$SERIAL ssh $SERVERHOST mv -f /etc/ssh/moduli /etc/ssh/moduli.old ssh $SERVERHOST mv /etc/ssh/moduli.$SERIAL /etc/ssh/moduli # puis mettre à jour mon fichier known_hosts echo -e "$PRE./Mettre à jour known_hosts-$SERVERHOST" # puis restart sshd sur le serveur cible ssh $SERVERHOST systemctl restart sshd