Modifier la key pair d'une VM
Vous pouvez remplacer la key pair (paire de clés) attribuée à une VM (Virtual Machine).
Lorsque vous modifiez une key pair avec la Console ou avec l'API (Application Programming Interface), les métadonnées de la VM sont modifiées pour refléter la nouvelle clé publique, mais le remplacement n'est pas encore pris en compte par le système d'exploitation de la VM. Pour finaliser le changement et appliquer concrètement la nouvelle key pair, vous devez effectuer d'autres actions à l'intérieur de la VM.
Permissions
Cette action nécessite les permissions IAM (Identity and Access Management) suivantes :
- compute.all
- Console
- API
- Terraform
- Depuis le menu latéral gauche, cliquez sur Compute → VMs ;
- Sélectionnez la VM dont vous souhaitez modifier la key pair ;
- Cliquez sur l'action Modifier la key pair ;
- Sélectionnez la nouvelle key pair dans la liste déroulante ;
- Cliquez sur Valider.
Pour modifier la clé publique associée aux métadonnées de la VM, utilisez la commande PUT /compute/spaces/{spaceId}/vms/{id}.
Exemple de requête : Modification d'une VM
Appliquer la nouvelle key pair avec scripts-per-boot
Pour appliquer la nouvelle key pair en utilisant les scripts de d émarrage (scripts-per-boot) de cloud-init, suivez ces étapes :
-
Accédez à la VM
-
Créez un fichier dans
/var/lib/cloud/scripts/per-boot/Nommez ce fichier, par exemple,
update-keypair.sh, et ajoutez le contenu suivant :#!/bin/bashcurl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key/ > /home/numspot/.ssh/authorized_keys -
Rendez le fichier exécutable
sudo chmod +x /var/lib/cloud/scripts/per-boot/update-keypair.sh -
Redémarrez la VM
La nouvelle key pair sera appliquée après le redémarrage de la VM. Ce script télécharge la clé publique à partir des métadonnées de la VM et la place dans le fichier
authorized_keysde l'utilisateur spécifié. Assurez-vous que le chemin/home/numspot/.ssh/authorized_keyscorrespond bien à celui de l'utilisateur pour lequel vous souhaitez ajouter la clé.
Appliquer la nouvelle key pair avec cloud_init_modules
Pour appliquer la nouvelle key pair en utilisant les modules cloud_init_modules de cloud-init, suivez ces étapes :
-
Accédez à la VM
-
Modifiez le fichier
/etc/cloud/cloud.cfgRemplacez l'entrée
- sshsouscloud_init_modules:par :- [ssh, always]Cela indique à cloud-init de toujours reconfigurer SSH (Secure Shell) à chaque démarrage de la VM.
-
Redémarrez la VM
Cette méthode régénère la signature SSH de la VM, ce qui change son empreinte (fingerprint). Vous recevrez donc un avertissement lorsque vous vous reconnecterez à la VM, car l'empreinte de la clé SSH aura changé. Assurez-vous que vous êtes prêt à accepter ce changement lors de votre prochaine connexion.
La documentation Terraform est disponible sur le registry Numspot ↗.