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?
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é.
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.
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:
j'ai copié le contenu de la ligne de commande, et ça a marché!!!
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.
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 ):
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 .
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.
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.
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.
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.
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.
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.
si vous utilisez bash pour windows comme terminal et que vous copiez via shift + highlighting + ctrl-c, alors cette solution pourrait fonctionner pour vous:
- après avoir copié la clé et l'avoir collée dans le bloc-notes:
- Maintenant allez à modifier > sélectionnez tout ou Ctrl-A
- 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.
- vous devriez maintenant pouvoir copier et coller cette version éditée dans github.
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:)