Passer au contenu principal

Modifier la Keypair d’une VM

Vous pouvez remplacer la Keypair attribuée à une Virtual Machine (VM).

Lorsque vous modifiez une Keypair avec Cockpit ou avec les API, les metadata 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 Keypair, vous devez effectuer d’autres actions à l’intérieur de la VM.

Modifier une Keypair avec l'API NumSpot

Pour modifier la clé publique associée au métadonnées de la Virtual Machine (VM), utilisez la commande PUT /compute/spaces/{spaceId}/vms/{id}.

Exemple de requête : Modification d'une VM

Pour appliquer la nouvelle Keypair en utilisant les scripts de démarrage (scripts-per-boot) de cloud-init, suivez ces étapes :

  1. Accédez à la VM :

  2. 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/bash
    curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key/ > /home/outscale/.ssh/authorized_keys
  3. Rendez le fichier exécutable :

    sudo chmod +x /var/lib/cloud/scripts/per-boot/update-keypair.sh
  4. Redémarrez la VM :

La nouvelle Keypair 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_keys de l'utilisateur spécifié. Assurez-vous que le chemin /home/outscale/.ssh/authorized_keys correspond bien à celui de l'utilisateur pour lequel vous souhaitez ajouter la clé.