135 votes

Message "Key is invalid" sur GitHub

J'ai généré des clés SSH pour l'installation d'un nouveau serveur en suivant la procédure décrite ci-dessous. aquí . Cependant, lorsque je copie le contenu de id_rsa.pub à ma liste de clés sur GitHub, j'obtiens le message d'erreur "Key is invalid. Assurez-vous d'avoir copié le fichier correctement."

La clé générée es valide, et je le recopie tel quel (sur une seule ligne, sans espace au début ni à la fin).

Quelqu'un a-t-il une idée de ce qui peut se passer ?

0voto

Vortex Points 6

Ma réponse ne s'applique qu'au générateur de clé PuTTY et au repo Bitbucket. Vous pouvez générer la paire de clés de plusieurs autres manières, voir les autres réponses.

Utilisez Putty Key Gen pour créer une clé RSA de 2048 bits ou plus. La clé privée peut être protégée par un mot de passe ou non. Une fois les deux clés (fichiers) générées, l'outil affiche votre clé publique. dans la fenêtre supérieure . Voici un exemple de ma clé, grattée pour des raisons de sécurité. Notez les deux parties critiques, ssh-rsa et le commentaire après.

La plupart des gens accèdent à leur fichier public, l'ouvrent dans l'éditeur et copient/collent le contenu dans la fenêtre "access-keys" de Bitbucket. Le fichier ne contient pas le préfixe "ssh-rsa" et Bitbucket rejette la clé.

Ex : ssh-rsa BBBBBFHHFDS....7 Clé rsa-20220706

0voto

Muhammad Ali Points 11

Vous devez ouvrir le fichier id_rsa.pub. Copiez tout le texte (y compris votre adresse électronique) et collez-le dans la zone de texte clé.

Exemple d'entrée SSH sur GitHub

-1voto

haritanshu93 Points 1

Essayez d'installer wps2019 et ouvrez le .pub sur wps2019 et copiez le code et collez-le :

-1voto

Suivez les instructions ci-dessous en partant de zéro et vous serez en mesure de résoudre ce problème.

De nombreux serveurs Git s'authentifient à l'aide de clés publiques SSH. Afin de fournir une clé publique, chaque utilisateur de votre système doit en générer une s'il n'en possède pas déjà une. Ce processus est similaire pour tous les systèmes d'exploitation. Tout d'abord, vous devez vous assurer que vous ne possédez pas déjà une clé. Par défaut, les clés SSH d'un utilisateur sont stockées dans son répertoire ~/.ssh. Vous pouvez facilement vérifier si vous avez déjà une clé en allant dans ce répertoire et en listant son contenu :

$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

Vous recherchez une paire de fichiers nommés quelque chose comme id_dsa o id_rsa et un fichier correspondant avec un .pub extension. Les .pub est votre clé publique, et l'autre fichier est la clé privée correspondante. Si vous n'avez pas ces fichiers (ou si vous n'avez même pas de fichier .ssh ), vous pouvez les créer en exécutant un programme appelé ssh-keygen qui est fourni avec le paquet SSH sur les systèmes Linux/macOS et avec Git pour Windows :

$ ssh-keygen -o
Generating public/private rsa key pair.
Enter file in which to save the key (/home/schacon/.ssh/id_rsa):
Created directory '/home/schacon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local

Il confirme d'abord l'endroit où vous souhaitez enregistrer la clé ( .ssh/id_rsa ), puis il demande deux fois une phrase de passe, que vous pouvez laisser vide si vous ne voulez pas saisir de mot de passe lorsque vous utilisez la clé. Cependant, si vous utilisez un mot de passe, assurez-vous d'ajouter l'élément -o qui enregistre la clé privée dans un format plus résistant au craquage de mot de passe par force brute que le format par défaut. Vous pouvez également utiliser l'option ssh-agent pour éviter d'avoir à saisir le mot de passe à chaque fois.

Maintenant, chaque utilisateur qui fait cela doit envoyer sa clé publique à vous ou à la personne qui administre le serveur Git (en supposant que vous utilisiez une configuration de serveur SSH qui nécessite des clés publiques). Tout ce qu'ils ont à faire est de copier le contenu du fichier .pub et l'envoyer par courrier électronique. Les clés publiques ressemblent à ceci :

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local

-1voto

Assurez-vous d'ajouter un espace vide après la clé ssh. Cela a résolu le problème pour moi

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X