web-dev-qa-db-fra.com

Message "La clé n'est pas valide" sur GitHub

J'ai généré des clés SSH pour une nouvelle installation de serveur conformément à la procédure décrite ci-après ici . Cependant, lorsque je copie le contenu de id_rsa.pub dans ma liste de clés sur GitHub, le message d'erreur suivant s'affiche: "La clé n'est pas valide. Assurez-vous d'avoir copié le fichier correctement." 

La clé générée est valide et je la copie exactement telle quelle (le tout sur une ligne sans espace au début/à la fin).

Quelqu'un a une idée de ce qui pourrait se passer?

37
user2398029

Je suis venu ici parce que j'ai eu le même problème. D'après votre question, j'ai compris que je copiais le contenu du mauvais fichier (uniquement le fichier id_rsa, sans l'extension .pub).

À partir d'un MAC:

vi ~/.ssh/id_rsa.pub

Copiez exactement de la fin (avec la dernière lettre de votre extension de domaine de messagerie) du bloc de caractères au début, qui commence par ssh-rs ...

Si cela ne fonctionne pas, vous ne copiez sûrement pas correctement. 

Ça a marché. 

Si vous êtes sur Windows , utilisez le bloc-notes et copiez-collez comme décrit ci-dessus. 

J'espère que cela a aidé.

47
shailenTJ

Voici quelques étapes qui ne sont pas du tout claires lors du copier/coller de votre clé publique. (Pour mémoire, j'ai utilisé PuTTY Key Generator pour mes clés.)

  • Sur la première ligne, entrez ssh-rsa. 
  • Assurez-vous d'ajouter un espace après ssh-rsa
  • Lorsque vous copiez/collez la clé dans la zone de texte Clé, les caractères\n (x0A) doivent être conservés. Si vous utilisez le Bloc-notes sous Windows, vous ne verrez pas ces nouvelles lignes tant que vous n'avez pas copié le texte dans Github.

Notez que sur cette capture d'écran, il y a un espace après ssh-rsa (voir le curseur.) Le texte de la clé publique comprend également trois caractères\n.SSH RSA Key

34
James Lawruk

J'essaie de plusieurs façons, mais aucune ne m'aide (mon os est ubuntu). Ensuite, j'ai pensé que si je pouvais imprimer le contenu de ~/.ssh/id_rsa.pub en utilisant la commande "more". 

Je suis désolé de ne pas avoir la réputation de poster des images! quand je l'ai, je vais le poster!

Voici une URL où vous pouvez voir l'image:

enter image description here

J'ai copié le contenu de la ligne de commande, et cela a fonctionné!

11
Sparks_Fly

Aux fenêtres,

Copiez simplement les données de la clé nue du fichier de clés et supprimez les nouvelles lignes. Écrivez ceci dans la boîte de dialogue ci-dessous pour résoudre votre problème . Ssh-rsa Key

NOTE: Il y a un espace entre ssh-rsa et la touche

Et vous avez terminé.

2
user3497443

Si vous avez effectivement copié le contenu de votre clé id_rsa.pub (sur une ligne continue), le résultat devrait ressembler à (extrait de la page d’aide GitHub ssh ):

ssh key

Le OP louism _ { confirme un problème de copier-coller:

  • Pour une raison très obscure, copier-coller de emacs a supprimé le \n après ssh-rsa, ce qui était à l'origine du problème. 
  • Copier-coller de vi a résolu le problème
2
VonC

Juste pour ceux qui cherchent dans le futur, un autre problème commun est le retour à la ligne. Par exemple, si vous exécutez cat ~/.ssh/id_rsa.pub, les lignes peuvent être renvoyées à la ligne, ce qui permet d'ajouter des caractères \ supplémentaires à chaque saut de ligne. Supprimez-les et votre clé devrait fonctionner correctement. 

2
Curtis Homan

J'avais le même problème, malgré la copie de la clé publique de la sortie cat directement à partir du terminal (Cmder/ConEmu). Il semble que la méthode utilisée pour copier la clé publique semble faire la différence. Voici un moyen de vérifier:

$ ssh-keygen -l -f ~/.ssh/id_rsa.pub
4096 SHA256:...

Ensuite, collez la clé qui échoue dans un nouveau fichier et essayez de vérifier que:

$ ssh-keygen -l -f test.pub
test.pub is not a public key file.

Dans mon cas, j'avais copié la clé de la sortie du terminal en utilisant cat; au lieu de cela, obtenir la clé de vim. Voici le moyen d'ouvrir la clé dans vim avec Word Wrap activé:

$ vim "+set wrap" ~/.ssh/id_rsa.pub

Je soupçonne que l'émulateur de terminal peut-être a quelque chose à voir avec cela car je n'ai pas eu ce problème avec Terminal.app.

1
James

Recommandé par GitHub

Copier le SSH-KEY:

J'ai travaillé avec xclip pour copier la clé id_rsa.pub, comme ceci:

1. Installez xclip

Sudo apt-get install xclip

2. Copier avec xclip

xclip -sel clip < ~/.ssh/id_rsa.pub


Bonne chance.

1
Akash

Dans mon cas, je devais ajouter une règle blanche supplémentaire après mon courrier électronique (après la chaîne de clé complète) avant qu'il ne soit accepté. J'ai découvert cela par accident, après avoir essayé de copier ma clé ssh telle que saisie sur Gitlab.

pbcopy de ma clé de pub directement depuis la ligne de commande ne fonctionnait pas. La copie de gitlab avec la règle des blancs extra à la fin a fait l'affaire.

0
stijndmd

Je sais que c’est une question qui remonte maintenant à cpl, mais si, en 2018, une telle situation se présentait: 

alors ci-dessous est une évidence:

mon problème était que j'ai essayé de copier la clé privée  

id_rsa

au lieu de clé publique contenu 

id_rsa. pub

en tant que clé de référentiel SSH gitlab, donc après vous:

ssh-keygen -t rsa -C "[email protected]" -b 4096

rappelez-vous de l’extension .pub à copier depuis:

  • OSX:

pbcopy <~/.ssh/id_runmyprocess_rsa . pub

  • Linux:

xclip -sel clip <~/.ssh/id_rsa . pub

  • Windows PowerShell

cat ~/.ssh/id_rsa . pub | agrafe


puis collez-le dans votre gitlab/github ou un autre référentiel en tant que clé SSH

cela a du sens, car vous ne devez partager que votre clé publique, pas la clé privée :)

0
Piotr Z

Si vous utilisez Sublime, vous pouvez voir ssh-key correctement. Vérifiez s'il y a un id_rsa.pub 

ls -al ~/.ssh

S'il est en place, ouvrez-le avec un texte sublime

Sudo subl /home/user_name/.ssh/id_rsa.pub

Ensuite, copiez et collez votre clé publique ssh.

0
Kirill Zhuravlov

Je viens d'avoir ce problème. Super frustrant. Je pensais que ma situation aurait pu affecter la cause du problème. J'utilise une tablette, j'essaie d'installer la clé sur le site githubs via le navigateur de ma tablette (Chrome) et je la copie depuis une application ssh connectée à mon serveur linux distant.

En fin de compte, lorsque j'ai copié la clé dans le navigateur, un certain nombre de sauts de ligne ont été introduits. Non seulement cela, mais il a également supprimé un caractère de chaque point où une nouvelle ligne a été insérée.

Donc, pour que cela fonctionne, je devais trouver manuellement chaque nouveau saut de ligne, puis rechercher cette partie de la clé pour trouver le caractère manquant. J'ai ensuite ajouté le personnage et supprimé la nouvelle ligne. Après avoir traqué chaque changement, la clé a bien fonctionné.

En passant, je n’ai pas ajouté de nouvelle rupture de ligne, comme celle mentionnée par d’autres après la ssh-rsa. 

Espérons que cela aide les autres. Je ne sais pas pourquoi c'est arrivé. Idiote que copier dans le presse-papier modifierait le texte copié. Oh, je l'ai aussi copié tout droit sorti de Vim. 

0
Jordan

Si vous utilisez bash pour Windows en tant que terminal et que vous copiez via les touches Maj + surbrillance + ctrl-c, cette solution pourrait fonctionner pour vous:

  1. Après avoir copié la clé et l'avoir collée dans le bloc-notes:

 example ssh key

  1. Maintenant, allez dans Edition> Tout sélectionner ou Ctrl-A

 text highlighted

  1. Les grandes quantités de zones bleues sont des espaces blancs. Vous devez les supprimer avec la touche retour ou la touche Suppr. Laissez les espaces dans les cercles verts.

 enter image description here

  1. Vous devriez maintenant pouvoir copier et coller cette version modifiée dans github.

 enter image description here

0
Isaac Pak