2014-05-19 1 views
0

J'ai un cluster de serveurs centos et je veux régénérer les clés de l'hôte ssh. Il y a beaucoup d'entre eux, donc je ne veux pas faire:Comment écrire un script bash pour régénérer les clés ssh sur un cluster?

ssh [email protected] "ssh-keygen -q -f /etc/ssh/ssh_host_key -N '' -t rsa" 

pour chaque serveur car il prendrait beaucoup de temps et je devrais à y entrer à plus de droite, puis ajouter la nouvelle clé hôte à mon fichier hosts connu. J'ai une liste d'adresses IP si cela peut vous aider. Je pensais que je pouvais juste faire une boucle pour eux.

Des suggestions?

+0

Avez-vous essayé de chercher comment cela pourrait être fait via shell scripting? – Kache

Répondre

2

Il devrait être assez facile à re-générer des clés d'hôte ssh sur une liste de serveurs si vous avez une liste d'adresses IP. Je les parcourais et supprimais la clé hôte existante, puis redémarrais le serveur ssh et il les régénérait automatiquement. Assurez-vous que vous faites & & entre le redémarrage rm et sshd sinon vous pouvez vous verrouiller.

#!/bin/bash 

for server in 1.2.3.4 1.2.3.5 1.2.3.6 1.2.3.7 
do 
    echo updating $server 
    ssh-keygen -R $server 
    ssh [email protected]$server -o StrictHostKeyChecking=no "rm -rf /etc/ssh/ssh_host_* && /etc/init.d/sshd restart" 
    echo `ssh-keyscan -t rsa $server` >> ~/.ssh/known_hosts 
done 
+1

Merci, cela a parfaitement fonctionné –

Questions connexes