Echange key script

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Automatisation SSH (échange de clés)
Langage Bash
Usage type installation Oracle RAC
Voir aussi Creer une clef ssh · Echange key

Script Bash qui crée et échange un couple de clés SSH entre deux machines (utile par exemple pour préparer une installation Oracle RAC, où l'échange doit être bidirectionnel).

#!/bin/bash

echo -e "	Se placer sur l'utilisateur dont on veut transférer la clef :

 utilisateur en cours : $(whoami)
Continuer ? (y/n)"
read return
if [[ $return != 'y' ]]; then
    echo "Sortie"
    exit 1
fi

echo "Indiquer le hostname distant :"
read HOSTNAME
LOCAL_HOSTNAME=$(hostname)

# préparation ssh locale
ssh-keygen -q -t rsa -b 2048 -f ~/.ssh/id_rsa -N ""
touch ~/.ssh/authorized_keys

# préparation ssh distante
ssh $HOSTNAME ssh-keygen -q -t rsa -b 2048 -f ~/.ssh/id_rsa -N \"\"

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh $HOSTNAME cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys $HOSTNAME:.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys
ssh $HOSTNAME chmod 600 ~/.ssh/authorized_keys

echo "Lancement des premières commandes :"
ssh $HOSTNAME "date;hostname"
ssh $LOCAL_HOSTNAME "date;hostname"

scp ~/.ssh/known_hosts $HOSTNAME:.ssh/known_hosts

Voir aussi