-
Connectez-vous à l'instance à l'aide de SSH ou de Session Manager.
-
Pour vérifier que cloud-init est bien installé, exécutez la commande suivante :
$ cloud-init -v
Si la commande renvoie une erreur, exécutez la commande suivante pour installer une instance sur votre distribution Linux :
Pour les instances basées sur Debian
$ sudo apt-get install cloud-init
Pour les instances basées sur RPM
sudo dnf install cloud-init
Pour les instances Suse
zypper install cloud-init
-
Après avoir confirmé l'installation de cloud-init, continuez à arrêter l'instance.
Remarque : Si l'option Arrêter n'est pas disponible, cela signifie que l'instance est déjà arrêtée ou que son périphérique racine est un volume de stockage d'instance.
-
Générez la clé publique à partir de votre clé privée pour vous connecter au nouvel utilisateur.
Remarque : Vous devez disposer d'une paire de clés ou d'une clé privée pour obtenir la clé publique. Pour créer une paire de clés, consultez la section Créer une paire de clés pour votre instance Amazon EC2. Il est recommandé, pour la sécurité SSH, de créer des paires de clés via la console EC2 ou un outil tiers.
Pour récupérer la clé publique, exécutez la commande suivante. Si votre clé privée comporte une phrase secrète, saisissez-la lorsque vous y êtes invité.
$ ssh-keygen -f <private_key_file> -y
-
Insérez votre clé publique dans la commande suivante, puis mettez à jour le champ des données utilisateur avec cette commande :
Sélectionnez l’instance.
Dans le volet de navigation, choisissez Actions, puis Paramètres de l'instance.
Choisissez Modifier les données utilisateur, puis collez le script dans le champ.
Remarque : Remplacez le nom d'utilisateur de l'espace réservé par le nom d'utilisateur que vous souhaitez utiliser. Pour ssh-rsa AB3nzExample, saisissez votre clé publique : Si vous utilisez une instance Debian, modifiez la valeur des groupes de wheel à sudo :
#cloud-config
cloud_final_modules:
- [users-groups,always]
users:
- name:username
groups: [ wheel ]
shell: /bin/bash
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
ssh-authorized-keys:
- ssh-rsa AB3nzExample
La commande précédente crée un utilisateur avec un accès illimité. Pour bloquer l'accès à sudo pour l'utilisateur, définissez la valeur de sudo sur faux. Pour plus d'informations, consultez la page Exemples de configuration du cloud sur le site Web de cloud-init.
Remarque : par défaut, les directives cloud-init ne s’exécutent que lorsqu’une instance est lancée. Toutefois, lorsque vous utilisez ce script de données utilisateur, cloud-init ajoute la clé publique à l’instance chaque fois que cette dernière redémarre. Si vous supprimez le script de données utilisateur, la fonctionnalité par défaut est rétablie.
-
Sélectionnez Enregistrer.
-
Choisissez Actions, sélectionnez État de l’instance, puis choisissez Démarrer.
-
Lorsque l’instance atteint l’état en cours d’exécution, connectez-vous en tant que nouvel utilisateur. Le nouvel utilisateur a le même comportement par défaut que ec2-user.
Remarque : Utilisez l'action d’API ModifyInstanceAttribute pour modifier les données utilisateur d'une instance. Vous pouvez créer une politique Gestion des identités et des accès AWS (AWS IAM) pour restreindre cette action.