Comment puis-je ajouter des nouveaux comptes utilisateur avec un accès SSH à mon instance Linux Amazon EC2 ?
Date de la dernière mise à jour : 20/08/2020
Je souhaite ajouter de nouveaux comptes utilisateur pouvant se connecter à mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2) à l'aide de SSH. Comment dois-je procéder ?
Brève description
Chaque instance Linux Amazon EC2 est lancée avec un compte utilisateur système par défaut disposant d'un accès administratif à l'instance. Si plusieurs utilisateurs doivent accéder à l'instance, les bonnes pratiques en matière de sécurité recommandent l'utilisation de comptes distincts pour chaque utilisateur.
L'utilisation de cloud-init et des données utilisateur permettent de le faire plus rapidement. Pour plus d'informations, consultez la section Comment puis-je ajouter de nouveaux comptes utilisateur avec un accès SSH à mon instance EC2 à l'aide de cloud-init et des données utilisateur ?
Solution
Créez une paire de clés pour le nouveau compte utilisateur.
- Créez une paire de clés, ou utilisez-en une existante, pour le nouvel utilisateur.
- Si vous créez votre propre paire de clés à l'aide de la ligne de commande, suivez les recommandations de create-key-pair ou New-EC2KeyPair Cmdlet en matière de type de clé et de longueur en bits.
- Si vous créez votre propre paire de clés à l'aide d'un outil tiers, vérifiez que votre clé respecte les directives mentionnées dans Importation de votre propre clé publique dans Amazon EC2.
Ajoutez un nouvel utilisateur à l'instance Linux EC2.
1. Connectez-vous à votre instance Linux à l'aide de SSH.
2. Utilisez la commande adduser pour ajouter un nouveau compte utilisateur à une instance EC2 (remplacez new_user par le nom du nouveau compte). L'exemple suivant montre la création d'un groupe associé, répertoire de base, et d'une entrée dans le fichier /etc/passwd de l'instance :
$ sudo adduser new_user
Remarque : si vous ajoutez new_user (nouvel utilisateur) pour 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. Changez le contexte de sécurité du compte new_user pour que les dossiers et fichiers que vous créez disposent des autorisations adaptées :
$ sudo su - new_user
Remarque : lorsque vous exécutez la commande sudo su - new_user, le nom situé en haut de l'invite de commande shell change pour refléter le contexte du nouveau compte utilisateur de votre séance shell.
4. Créez un répertoire .ssh dans le répertoire de base de new_user :
$ mkdir .ssh
5. Utilisez la commande chmod pour modifier les autorisations du répertoire .ssh et les paramétrer sur 700. Modifier les autorisations permet de restreindre 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 tactile 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 et les définir sur 600. La modification des autorisations du fichier permet de restreindre l'accès en lecture ou en écriture du fichier pour le new_user.
$ chmod 600 .ssh/authorized_keys
Récupérer la clé publique pour 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 :
- Importation de votre propre clé publique dans Amazon EC2
- Récupération de la clé publique pour votre paire de clés sur Linux
- Récupération de la clé publique pour votre paire de clés via les métadonnées de l'instance
Vérification de l'empreinte de votre paire de clés
Après l'importation de votre propre clé publique ou la récupération de la clé publique pour votre paire de clés, suivez les étapes de la section Vérification de l'empreinte de votre paire de clés.
Mettre à jour et vérifier les informations d'identification du nouveau compte utilisateur
Après la récupération de votre clé publique, utilisez la séance shell de commande qui fonctionne dans le contexte du nouveau compte utilisateur pour vérifier que vous disposez de l'autorisation d'ajouter la clé publique au fichier .ssh/authorized_keys pour 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 Entrée.
Remarque : pour la plupart des interfaces de ligne de commande Linux, la combinaison de touches Ctrl+Maj+V permet de coller 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.
3. Maintenez enfoncée les touches Ctrl+D pour quitter cat et revenir à l'invite de session de ligne de commande.
(Facultatif) Autoriser le nouvel utilisateur à utiliser sudo
Remarque : si vous ne voulez pas autoriser le nouvel utilisateur à utiliser sudo, passez à la section Vérifier que le nouvel utilisateur peut utiliser SSH pour se connecter à l'instance EC2.
1. Utilisez la commande passwd pour créer un mot de passe pour le nouvel utilisateur :
$ sudo passwd new_user
Remarque : vous êtes invité à saisir à nouveau le mot de passe. Saisissez le mot de passe une deuxième fois pour le confirmer.
2. Ajoutez le nouvel utilisateur au groupe approprié.
Pour Amazon Linux, Amazon Linux 2, RHEL et CentOS :
Utilisez la commande usermod pour ajouter l'utilisateur au groupe wheel.
$ sudo usermod -aG wheel new_user
Pour Ubuntu :
Utilisez la commande usermod pour ajouter l'utilisateur au groupe sudo.
$ sudo usermod -aG sudo new_user
Vérifier que le nouvel utilisateur peut utiliser SSH pour se connecter à l'instance EC2
1. Vérifiez que vous pouvez vous connecter à votre instance EC2 à l'aide de SSH en tant que new_user en exécutant la commande suivante à partir de l'invite de ligne de commande de 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 à l'aide de SSH sur Windows, suivez les étapes de la section Connexion à votre instance Linux sur Windows à l'aide de PuTTY.
Remarque : si vous recevez des erreurs lors de la tentative de connexion, reportez-vous à la section Dépannage de la connexion à votre instance.
2. Une fois connecté à votre instance à l'aide de SSH en tant que new_user, exécutez la commande id à partir de la ligne de commande de l'instance EC2 pour afficher les informations de l'utilisateur et du groupe créés pour le compte new_user :
$ id
La commande id renvoie des informations similaires à :
uid=1004(new_user) gid=1004(new_user) groups=1004(new_user)
3. Distribuez le fichier de clé privée au nouvel utilisateur.
Informations connexes
Cet article vous a-t-il été utile ?
Vous avez besoin d'aide ?