Résoudre l'erreur "Permission refusée" lors de la création d'un utilisateur Ubuntu Sudo avec AI

Paul Grieselhuber

Paul Grieselhuber

Oct 17, 2024

Introduction

Au cours du processus d'installation de Nginx sur Ubuntu, l'une des conditions préalables est de configurer un utilisateur normal, non root, avec les privilèges sudo.

Ce processus est défini dans un tutoriel de Digital Ocean, installing Nginx and initial server setup with Ubuntu. En suivant le tutoriel, nous avons réussi à créer facilement un utilisateur (Sammy) mais nous avons rencontré une erreur de permissions lorsque nous avons essayé de nous connecter en tant que Sammy: :

ssh sammy@votre_serveur_ip

L'erreur affichée était "Permission denied (publickey)" et il n'y avait rien pour couvrir une résolution dans le tutoriel, donc nous l'avons réparé nous-mêmes, avec un peu d'aide de l'IA.

Voici comment.

Étape 1. Vérifier que la clé publique existe sur la machine locale

Tout d'abord, vérifiez que vous disposez d'une clé SSH sur votre machine locale. La clé publique commence généralement par ssh-ed25519 suivi d'une longue chaîne de caractères.

Exécutez la commande suivante :

cat ~/.ssh/id_ed25519.pub

Vous devriez voir quelque chose comme ceci :

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAILM4XeQ...<blocked>...1x sammy@example.com

Copiez la clé entière (y compris la partie ssh-ed25519) pour l'utiliser dans les étapes suivantes.

Étape 2. Passer au serveur

Connectez-vous à votre serveur en tant qu'utilisateur root :

ssh root@votre_serveur_ip

Étape 3. Passer à Sammy

Une fois connecté, passez à l'utilisateur Sammy :

su \N- sammy

Étape 4. Créer le répertoire .ssh

Si le répertoire .ssh n'existe pas, créez-le :

mkdir -p ~/.ssh

Étape 5. Définir les autorisations pour le répertoire .ssh

Définissez les autorisations correctes pour le répertoire .ssh :

chmod 700 ~/.ssh

Étape 6. Créer ou ouvrir le fichier authorized_keys

Ouvrez le fichier authorized_keys pour le modifier :

nano ~/.ssh/authorized_keys

Étape 7. Coller la clé publique

Collez la clé publique SSH que vous avez copiée précédemment dans le fichier authorized_keys. Pour ouvrir le fichier authorized_keys dans un éditeur de texte, entrez cette commande dans Terminal :

nano ~/.ssh/authorized_keys

Vous devriez voir un écran comme celui-ci :

 fichier authorized_keys dans un éditeur de texte.png

Copiez votre clé SSH et collez-la dans la première ligne, puis cliquez sur Ctrl + X, puis Y, et Enter pour sauvegarder.

L'éditeur de texte doit ressembler à ceci :

authorized_keys file in a text editor-enter ssh.png

Étape 8. Définir les permissions pour authorized_keys

Définissez les autorisations correctes pour le fichier authorized_keys :

chmod 600 ~/.ssh/authorized_keys

Étape 9. Essayez de vous connecter en tant que Sammy

Maintenant, déconnectez-vous du serveur et essayez de vous connecter à nouveau en tant que Sammy :

ssh sammy@votre serveur_ip

Conclusion

Nous avons utilisé ChatGPT pour résoudre ce problème et l'avons résolu en 30 minutes environ. En ayant une conversation en direct, en suivant les instructions et en partageant les résultats, AI nous a guidé à travers ce processus étape par étape jusqu'à ce que nous puissions nous connecter avec succès en tant que nouvel utilisateur avec les privilèges sudo. Cette erreur n'était pas abordée dans l'article original, nous espérons donc que cela sera utile à toute personne rencontrant le même problème. Si cela ne fonctionne pas pour vous, pourquoi ne pas essayer ChatGPT pour voir s'il peut vous aider à résoudre le problème ?

Paul Grieselhuber

Paul Grieselhuber

Founder, President

Paul has extensive background in software development and product design. Currently he runs rendr.

Réservez un appel de découverte avec nos experts produits.

Notre équipe d'experts en applications web et mobiles est impatiente de discuter avec vous de votre prochain projet.

Réservez un appel 👋