Подтвердить что ты не робот

Сообщение "Key is invalid" на GitHub

Я создал SSH-ключи для новой установки сервера в соответствии с процедурой, описанной здесь здесь. Однако, когда я копирую содержимое id_rsa.pub в список моих ключей в GitHub, я получаю сообщение об ошибке "Недопустимый ключ. Убедитесь, что вы скопировали файл правильно".

Сгенерированный ключ действителен, и я копирую его точно как есть (все в одной строке без пробелов в начале/конце).

У кого-нибудь есть идея, что может происходить?

4b9b3361

Ответ 1

Я пришел сюда, потому что у меня была такая же проблема. Из вашего вопроса я понял, что копирую содержимое из неправильного файла (только файл id_rsa без расширения .pub).

Из MAC:

vi ~/.ssh/id_rsa.pub

Скопировать точно с конца (с последней буквой вашего расширения домена электронной почты) блока символов до начала, начинающегося с ssh-rs...

Если это не сработает, вы наверняка не будете правильно копировать.

Это сработало.

Если вы находитесь в Windows, используйте блокнот и копию-вставку, как описано выше.

Я надеюсь, что это помогло.

Ответ 2

Вот несколько шагов, которые не совсем понятны при копировании/вставке открытого ключа. (Для записи я использовал Putty Key Generator для своих ключей.)

  • В первой строке введите ssh-rsa.
  • Убедитесь, что вы добавили одно место после ssh-rsa
  • Когда вы копируете/вставляете ключ в текстовое поле Key, он должен сохранять символы \n (x0A). Если вы используете Notepad в Windows, вы не увидите эти новые строки, пока не скопируете текст в Github.

Обратите внимание, что на этом скриншоте есть пробел после ssh-rsa (см. курсор.) Текст открытого ключа также включает в себя три символа \n, поэтому вы можете видеть, что текст открытого ключа отображается до следующей строки три раза в текстовое поле. SSH RSA Key

Ответ 3

Я пытаюсь несколько способов, но ни один из них не помогает (мой os - ubuntu). Тогда я подумал, могу ли я распечатать содержимое ~/.ssh/id_rsa.pub с помощью команды "больше".

Мне жаль, что у меня нет репутации для публикации изображений! когда у меня есть, я опубликую его!

Вот URL, где вы можете увидеть изображение:

enter image description here

Я скопировал содержимое из командной строки, и он РАБОТАЛ!!!

Ответ 4

В окнах

Просто скопируйте голые данные ключа из файла ключей и удалите новые строки. Напишите это ниже в диалоговом окне, чтобы решить вашу проблему. ssh-rsa Key

ПРИМЕЧАНИЕ. Между ssh-rsa и ключом есть пробел

И все готово.

Ответ 5

Если вы действительно скопировали содержимое своего ключа id_rsa.pub (в одной непрерывной строке), результат должен выглядеть (из GitHub ssh help страница):

ssh key

OP louism подтверждает проблему с копией:

  • По очень неясной причине копирование в emacs удалило \n после ssh-rsa, и это вызывало проблему.
  • Скопированное вставка из vi решила проблему.

Ответ 6

Просто для тех, кто смотрит в будущее, еще одна распространенная проблема - это перенос слов. Например, если вы запустите cat ~/.ssh/id_rsa.pub, он может обернуть строки, добавив дополнительные символы \ при каждом разрыве строки. Удалите их, и ваш ключ должен работать нормально.

Ответ 7

Рекомендуется GitHub

Копирование SSH-KEY:

Я работал с xclip, чтобы скопировать ключ id_rsa.pub, например:

1. Установите xclip

sudo apt-get install xclip

2. Копировать с помощью xclip

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


Удачи.

Ответ 8

Я знаю, что это вопрос, которому сейчас годен капрал, но если кто-то в 2018 году столкнется с этим:

тогда ниже легкая задача:

моя проблема заключалась в том, что я пытался скопировать закрытый ключ

id_rsa

вместо открытого ключа содержимого

id_rsa.pub

как мой ключ хранилища SSH gitlab, так что после вас:

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

пожалуйста, помните о расширении файла .pub, с которого нужно копировать:

  • OSX:

& emsp; & emsp; pbcopy & lt; ~/.Ssh/id_runmyprocess_rsa.паб

  • Linux:

& emsp; & xmsip -sel clip & lt; ~/.Ssh/id_rsa.паб

  • Windows PowerShell

& emsp; & emsp; cat ~/.ssh/id_rsa.pub | клип


затем вставьте его в свой gitlab/github или другой репозиторий в качестве своего SSH-ключа

это имеет смысл, потому что вы всегда должны делиться только своим открытым ключом, а не личным :)

Ответ 9

У меня была такая же проблема, несмотря на копирование открытого ключа из cat вывода непосредственно с терминала (Cmder/ConEmu). Кажется, что метод, который вы используете для копирования открытого ключа, кажется, имеет значение. Вот способ проверки:

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

Затем вставьте ключ, который выходит из строя в новый файл, и попробуйте проверить, что:

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

В моем случае я копировал ключ с вывода терминала с помощью cat; вместо этого заработал ключ от vim. Вот способ открыть ключ в vim с включенным переносом слов:

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

Я подозреваю, что эмулятор терминала может иметь какое-то отношение к нему, поскольку у меня не было этой проблемы с Terminal.app.

Ответ 10

Если вы используете Sublime, вы можете правильно увидеть ssh-key. Проверьте, нет ли id_rsa.pub

ls -al ~/.ssh

Если он на месте, откройте его с возвышенным текстом

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

Затем скопируйте и вставьте общедоступный ключ ssh.

Ответ 11

В моем случае мне пришлось добавить лишнее белое правило после моего сообщения электронной почты (после всей строки) до того, как оно будет принято. Я обнаружил это случайно, пытаясь скопировать мой ssh-ключ, введенный в Gitlab.

pbcopy из моего паб-ключа прямо из командной строки не работает. Копия из gitlab с дополнительным белым правилом в конце, сделала трюк.

Ответ 12

У меня была эта проблема. Супер разочарование. Я решил, что моя ситуация может повлиять на проблему проблемы. Я использую планшет, пытаясь настроить ключ на сайте githubs через браузер планшета (Chrome), и я копирую ключ из приложения ssh, подключенного к удаленному серверу linux.

Что случилось, так это то, что когда я скопировал ключ в браузер, он ввел ряд разрывов строк. Не только это, но и удалил символ из каждой точки, где была вставлена ​​новая строка.

Итак, чтобы заставить его работать, мне пришлось вручную найти каждый новый разрыв строки, а затем охотиться за этой частью ключа, чтобы найти отсутствующий символ. Затем я добавил персонажа и удалил новую строку. После того, как я преследовал все изменения, ключ работал нормально.

Кстати, я не добавлял никаких новых разрывов строк, таких как тот, который упоминался другими после ssh-rsa.

Надеюсь, это поможет другим. Я понятия не имею, почему это произошло. Глупо, что копирование в буфер обмена изменит текст, скопированный. О, я тоже скопировал это прямо из Вима.

Ответ 13

Если вы используете bash для windows в качестве терминала и копируете с помощью shift + подсветка + ctrl-c, то это решение может работать для вас:

  1. После копирования ключа и вставки его в блокнот:

example ssh key

  1. Теперь перейдите в Edit> Select All или Ctrl-A

text highlighted

  1. Большое количество синих областей - это пробел. Вы должны удалить их либо с помощью клавиши Backspace, либо с помощью клавиши удаления. Оставьте пробел в зеленых кружках.

enter image description here

  1. Теперь вы сможете скопировать и вставить эту отредактированную версию в github.

enter image description here

Ответ 14

Это общая проблема, с которой мы сталкиваемся при создании ключа. Во время генерации SSH мы получим два файла различий, один из которых - id_rsa и id_rsa.pub. здесь файл с расширением pub является файлом держателя открытого ключа. Вы должны скопировать содержимое этого файла и добавить его на Github.

ПРИМЕЧАНИЯ: 1. содержимое файла открытого ключа начинается с 'SSH-RSA' 2. в конце укажите свой электронный адрес Github. Например: если вы зарегистрировали Github на @gmail.com, тогда в файле pub указан указанный адрес электронной почты.