#!/bin/bash # Demande à l'utilisateur les informations nécessaires read -p "Nom de l'hôte distant : " hostname read -p "Numéro de port SSH : " port read -p "Nom d'utilisateur : " username # Vérifie si le fichier de clé privée existe déjà private_key=~/.ssh/id_rsa_${hostname} if [[ -f $private_key ]]; then echo "La clé privée pour cet hôte existe déjà : $private_key" echo "Veuillez supprimer la clé existante ou utiliser un autre nom d'hôte." exit 1 fi # Génère une clé privée avec un nom dynamique basé sur l'hôte distant ssh-keygen -t rsa -f $private_key # Pousse la clé publique sur l'hôte distant ssh-copy-id -i $private_key.pub -p $port $username@$hostname # Crée le fichier de configuration config_file=~/.ssh/config echo "Host $hostname" >> $config_file echo " HostName $hostname" >> $config_file echo " Port $port" >> $config_file echo " User $username" >> $config_file echo " IdentityFile $private_key" >> $config_file echo "" >> $config_file # Définit les permissions du fichier de configuration chmod 600 $config_file echo "Configuration terminée. Vous pouvez maintenant vous connecter en utilisant 'ssh $hostname' avec la nouvelle clé privée."