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

j'ai généré des clés SSH pour une nouvelle installation de serveur selon la procédure décrite ici . Cependant, quand je copie le contenu de id_rsa.pub à ma liste de clés sur GitHub, je reçois le message d'erreur" 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 (tout en une ligne sans espace au début/à la fin).

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

31
demandé sur user2398029 2012-05-07 07:33:13

13 réponses

je suis venu ici parce que j'avais le même problème. De votre question, je me suis rendu compte que je copiais le contenu à partir du mauvais fichier (juste le fichier id_rsa , sans l'extension .pub ).

à Partir d'un MAC:

vi ~/.ssh/id_rsa.pub

copier exactement de la fin (avec être la dernière lettre de votre extension de domaine e-mail) 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 sous Windows , utilisez le bloc-notes et copiez-coller comme décrit ci-dessus.

j'espère que ça a aidé.

39
répondu shailenTJ 2015-03-12 17:25:49

voici quelques étapes qui ne sont pas du tout claires lorsque vous copiez/collez votre clé publique. (Pour mémoire, J'ai utilisé Putty Key Generator pour mes clés.)

  • à la première ligne, inscrivez ssh-rsa.
  • assurez-vous d'ajouter un espace après ssh-rsa
  • lorsque vous copiez/collez la clé dans la zone de texte de la clé, elle doit conserver les caractères \n (x0A). Si vous utilisez Notepad sous Windows, vous ne verrez pas ces nouvelles lignes avant de les avoir copiées. le texte à Github.

remarque sur cette capture d'écran, il y a un espace après ssh-rsa (voir le curseur.) Le texte de la clé publique comporte également trois caractères \n, de sorte que vous pouvez voir le texte de la clé publique descendre jusqu'à la ligne suivante trois fois dans la zone de texte. SSH RSA Key

32
répondu James Lawruk 2013-06-11 19:42:44

j'essaie plusieurs façons, mais aucune n'aide(mon os est ubuntu). Puis j'ai pensé que si je pouvais imprimer le contenu de ~/.SSH / id_rsa.pub en utilisant la commande "plus".

je suis désolé que je n'ai pas la réputation de poster des images! quand j'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 ça a marché!!!

10
répondu Sparks_Fly 2013-11-22 13:17:06

juste pour ceux qui regardent dans l'avenir, un autre problème commun est ce mot-enveloppement. Par exemple, si vous lancez cat ~/.ssh/id_rsa.pub il pourrait envelopper des lignes, ajoutant ainsi des caractères supplémentaires \ à chaque rupture de ligne. Retirez - les et votre clé devrait fonctionner.

2
répondu Curtis Homan 2014-03-10 16:45:51

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

ssh key

Le OP louism confirme un copier-coller question:

  • pour une raison très obscure, copier-coller d'emacs a enlevé le \n après ssh-rsa , et cela causait le problème.
  • Copier-coller à partir de vi résolu le problème .
2
répondu VonC 2017-05-23 11:54:25

recommandé par GitHub

Copie SSH-KEY :

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

1. Installer xclip

sudo apt-get install xclip

2. Copie avec xclip

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


Bonne Chance.

1
répondu Akash 2017-02-20 09:19:37

dans windows,

il suffit de copier les données clé nue à partir du fichier clé et Supprimer de nouvelles lignes. Écrivez ceci ci-dessous choses dans la boîte de dialogue pour résoudre votre problème. clé ssh-rsa

NOTE : il y a de l'espace entre ssh-rsa et la touche

et vous avez fini.

1
répondu user3497443 2017-07-25 07:30:42

si vous utilisez Sublime vous pouvez voir SSH-key correctement. Vérifiez s'il ya une id_rsa.pub

ls -al ~/.ssh

si elle est en place, ouvrez-la avec un texte sublime

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

ensuite, copiez et collez votre clé publique SSH.

0
répondu Kirill Zhuravlov 2016-08-10 12:06:14

dans mon cas, j'ai dû ajouter une règle blanche supplémentaire après mon e-mail (après toute la chaîne de caractères) avant qu'il ne soit accepté. J'ai découvert ça par accident, après avoir essayé de copier ma clé SSH comme entrée sur Gitlab.

la copie de ma clé de pub directement de la ligne de commande n'a pas fonctionné. La copie de gitlab avec la règle de blanc supplémentaire à la fin, a fait l'affaire.

0
répondu stijndmd 2017-02-22 09:16:54

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

ce qui a fini par se produire est que d'une certaine façon quand j'ai copié la clé du navigateur, il a introduit un certain nombre de sauts de ligne. Non seulement cela, mais il a également enlevé un caractère de chaque point où une nouvelle ligne est insérée.

donc pour le faire fonctionner, j'ai dû trouver manuellement chaque nouvelle rupture de ligne, puis chasser cette partie de la clé pour trouver le personnage manquant. J'ai ensuite ajouté le caractère et supprimé la nouvelle ligne. Après avoir traqué chaque changement, la clé a bien fonctionné.

soit dit en passant, je n'ai pas ajouté de nouvelles lignes de rupture moi-même, comme celle mentionnée par d'autres après le ssh-rsa.

espérons que ce aide les autres. Je n'ai aucune idée de pourquoi c'est arrivé. C'est stupide que Copier sur le bloc-notes modifierait le texte copié. Oh, je l'ai aussi copié sur Vim.

0
répondu Jordan 2017-10-01 02:38:52

j'avais le même problème, malgré la copie de la clé publique de cat sortie directement du terminal (Cmder/ConEmu). Il semble que la méthode que vous utilisez pour copier la clé publique semble faire une différence. Voici une façon de vérifier:

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

ensuite coller la clé qui ne fonctionne pas dans un nouveau fichier, et d'essayer 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é à partir de la sortie du terminal en utilisant cat ; à la place obtenir la clé de vim a fonctionné. Voici une façon 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 mai ont quelque chose à voir avec elle que je n'ai pas eu ce problème avec le Terminal.App.

0
répondu James 2017-10-26 17:43:10

si vous utilisez bash pour windows comme terminal et que vous copiez via shift + highlighting + ctrl-c, alors 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 à modifier > sélectionnez tout ou Ctrl-A

text highlighted

  1. les grandes quantités de zones bleues sont des espaces blancs. Vous devez les supprimer avec le backspace ou la touche delete. Laissez l'espace blanc dans les cercles verts.

enter image description here

  1. vous devriez maintenant pouvoir copier et coller cette version éditée dans github.

enter image description here

0
répondu Isaac Pak 2018-02-07 23:51:45

je sais qu'il s'agit d'une question qui date de plusieurs années, mais si quelqu'un en 2018 Rencontre cette:

puis ci-dessous est un no-brainer:

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

comme ma clé de dépôt SSH gitlab, donc après vous:

ssh-keygen -t rsa -C "your@email.com" -b 4096

rappelez-vous à propos du .pub extension de fichier à copier à partir de:

  • OSX :

pbcopy < ~/.ssh / id_runmyprocess_rsa. pub

  • Linux :

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

  • Windows PowerShell

cat ~/.SSH / id_rsa. pub / clip



puis collez-le à votre gitlab/GitHub ou à un autre dépôt comme votre clé SSH

cela a tout son sens, car vous ne devriez toujours partager que votre clé publique, et non la clé privée:)

0
répondu Piotr Z 2018-08-22 11:23:17