Comment ajouter de nouveaux comptes utilisateurs avec un accès SSH à mon instance Linux Amazon EC2 ?

Lecture de 8 minute(s)
0

Je souhaite ajouter de nouveaux comptes utilisateurs qui peuvent se connecter à mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2) via SSH.

Brève description

Chaque instance Linux Amazon EC2 est lancée avec un compte utilisateur système par défaut avec un accès administratif à l'instance. Si plusieurs utilisateurs ont besoin d'accéder à l'instance, il est recommandé d'utiliser des comptes distincts pour chaque utilisateur pour des raisons de sécurité.

Vous pouvez accélérer ces étapes en utilisant cloud-init et les données utilisateur. Pour plus d'informations, consultez la section Comment ajouter de nouveaux comptes utilisateurs avec un accès SSH à mon instance EC2 à l'aide de cloud-init et des données utilisateur ?

Résolution

Créer une paire de clés pour le nouveau compte utilisateur

Créer une paire de clés à l'aide de la console Amazon EC2

1.    Ouvrez la console Amazon EC2.

2.    Sélectionnez Réseau et sécurité, puis Paires de clés.

3.    Sélectionnez Créer une paire de clés.

4.    Dans le champ Nom, saisissez un nom descriptif pour la paire de clés. Amazon EC2 associe la clé publique au nom que vous avez spécifié comme nom de clé. Un nom de clé peut comprendre jusqu'à 255 caractères ASCII sans espace de début ou de fin.

5.    Dans Type de paire de clés, choisissez RSA, puis ED25519.

6.    Dans Format de fichier de clé privée, choisissez le format dans lequel enregistrer la clé privée. Choisissez pem pour enregistrer la clé privée dans un format utilisable avec OpenSSH. Choisissez ppk pour enregistrer la clé privée dans un format utilisable avec PuTTY.

7.    Pour ajouter une balise à la clé publique, sélectionnez Ajouter une balise, puis saisissez la clé et la valeur de la balise. Répétez l'opération pour chaque balise.

8.    Choisissez Créer une paire de clés.

9.    Le fichier de clé privée est automatiquement téléchargé. Le nom du fichier de base est le nom que vous avez spécifié pour votre paire de clés. L'extension du nom de fichier est déterminée par le format de fichier que vous avez choisi. Enregistrez le fichier de clé privée dans un endroit sûr.

10.    Si vous utilisez un client SSH sur un ordinateur macOS ou Linux pour vous connecter à votre instance Linux, exécutez la commande suivante :

chmod 400 key-pair-name.pem

La commande précédente définit les autorisations de votre fichier de clé privée afin que vous seul puissiez le lire. Si vous ne définissez pas ces autorisations, vous ne pourrez pas vous connecter à votre instance avec cette paire de clés. Pour en savoir plus, consultez la section Erreur : Fichier de clé privée non protégé.

Créer une paire de clés à l'aide de l'interface de la ligne de commande AWS (AWS CLI)

Remarque : Si vous recevez des erreurs lors de l'exécution des commandes de l'AWS CLI, assurez-vous que vous utilisez la version la plus récente de l'AWS CLI.

1.    Utilisez la commande create-key-pair pour générer la paire de clés et enregistrer la clé privée dans un fichier .pem.

Pour --key-name, spécifiez le nom de la clé publique. Le nom peut comporter jusqu'à 255 caractères ASCII.

Pour --key-type, spécifiez rsa ou ed25519. Si vous n'incluez pas le paramètre --key-type, une clé rsa est créée par défaut. Notez que les clés ED25519 ne sont pas prises en charge par les instances Windows.

Pour --key-format, spécifiez pem ou ppk. Si vous n'incluez pas le paramètre --key-format, un fichier pem est créé par défaut.

--query "KeyMaterial" affiche le contenu de la clé privée à la sortie.

--output text > my-key-pair.pem enregistre le contenu de la clé privée dans un fichier portant l'extension spécifiée. L'extension peut être .pem ou .ppk. Le nom de la clé privée peut être différent du nom de la clé publique, mais pour en faciliter l'utilisation, utilisez le même nom.

aws ec2 create-key-pair \
    --key-name my-key-pair \
    --key-type rsa \
    --key-format pem \
    --query "KeyMaterial" \
    --output text > my-key-pair.pem>

2.    Si vous utilisez un client SSH sur un ordinateur macOS ou Linux pour vous connecter à votre instance Linux, exécutez la commande suivante :

chmod 400 key-pair-name.pem

La commande précédente définit les autorisations de votre fichier de clé privée afin que vous seul puissiez le lire. Si vous ne définissez pas ces autorisations, vous ne pourrez pas vous connecter à votre instance avec cette paire de clés. Pour en savoir plus, consultez la section Erreur : Fichier de clé privée non protégé.

Ajouter un nouvel utilisateur à l'instance Linux EC2

1.    Connectez-vous à votre instance Linux via SSH.

2.    Utilisez la commande adduser pour ajouter un nouveau compte utilisateur à une instance EC2 (remplacez new_user par le nouveau nom du compte). L'exemple suivant crée un groupe associé, un répertoire de base et une entrée dans le fichier /etc/passwd de l'instance.

$ sudo adduser new_user

Le répertoire de base peut ne pas être créé par défaut dans certaines configurations. Vérifiez que le répertoire de base a été créé avant de continuer.

Remarque : Si vous ajoutez le new_user à une instance Ubuntu, incluez l'option --disabled-password pour éviter d'ajouter un mot de passe au nouveau compte :

$ sudo adduser new_user --disabled-password

3.    Modifiez le contexte de sécurité pour le compte new_user afin que les dossiers et les fichiers que vous créez disposent des autorisations appropriées :

$ sudo su - new_user

Remarque : Lorsque vous exécutez la commande sudo su - new_user, le nom figurant en haut de l'invite de commandes shell change pour refléter le nouveau contexte de compte utilisateur de votre session shell.

4.    Créez un répertoire .ssh dans le nouveau répertoire de base new_user :

$ mkdir .ssh

5.    Utilisez la commande chmod pour modifier les autorisations du répertoire .ssh à 700. La modification des autorisations restreint l'accès afin que seul le new_user puisse lire, écrire ou ouvrir le répertoire .ssh.

$ chmod 700 .ssh

6.    Utilisez la commande touch pour créer le fichier authorized_keys dans le répertoire .ssh :

$ touch .ssh/authorized_keys

7.    Utilisez la commande chmod pour modifier les autorisations du fichier .ssh/authorized_keys à 600. La modification des autorisations de fichiers limite l'accès en lecture ou en écriture au new_user.

$ chmod 600 .ssh/authorized_keys

Récupérer la clé publique de votre paire de clés

Récupérez la clé publique de votre paire de clés à l'aide de la méthode qui s'applique à votre configuration :

Vérifier l'empreinte de votre paire de clés

Après avoir importé votre propre clé publique ou récupéré la clé publique de votre paire de clés, suivez les étapes décrites dans la section Vérifier l'empreinte de votre paire de clés.

Mettre à jour et vérifier les informations d'identification du nouveau compte utilisateur

Après avoir récupéré la clé publique, confirmez que vous êtes autorisé à l'ajouter au fichier .ssh/authorized_keys de ce compte :

1.    Exécutez la commande Linux cat en mode ajout :

$ cat >> .ssh/authorized_keys

2.    Collez la clé publique dans le fichier .ssh/authorized_keys puis appuyez sur Entrer.

Remarque : Pour la plupart des interfaces de ligne de commande Linux, la combinaison de touches Ctrl+Shift+V colle le contenu du presse-papiers dans la fenêtre de ligne de commande. Pour l'interface de ligne de commande PuTTY, cliquez avec le bouton droit pour coller le contenu du presse-papiers dans la fenêtre de ligne de commande PuTTY.

3.    Maintenez enfoncé Ctrl+D pour quitter cat et revenir à l'invite de session de commande en ligne.

Vérifier que le nouvel utilisateur peut utiliser SSH pour se connecter à l'instance EC2

1.    Exécutez la commande suivante à partir d'une invite de ligne de commande sur votre ordinateur local :

$ ssh -i /path/new_key_pair.pem new_user@public_dns_name_of_EC2_Linux_instance

Pour vous connecter à votre instance Linux EC2 via SSH depuis Windows, suivez les étapes décrites dans la section Se connecter à votre instance Linux depuis Windows à l'aide de PuTTY.

Remarque : Si vous recevez des messages d’erreurs lorsque vous tentez de vous connecter, consultez la section Résoudre les problèmes de connexion à votre instance.

2.    Exécutez la commande id à partir de la ligne de commande de l'instance pour afficher les informations sur les utilisateurs et les groupes créées pour le compte new_user :

$ id

La commande id renvoie des informations semblables aux suivantes :

uid=1004(new_user) gid=1004(new_user) groups=1004(new_user)

3.    Partagez le fichier de clé privée avec votre nouvel utilisateur.

Informations connexes

Gérer les utilisateurs sur votre instance Linux

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans