Почему GitHub может сообщить об открытом ключе как о недействительном?

Я сгенерировал ключ ssh.
Результат:

Your identification has been saved in /home/rajani/.ssh/id_rsa.
Your public key has been saved in /home/rajani/.ssh/id_rsa.pub.

Ключ находится в шестнадцатеричном формате, но при добавлении его в GitHub я получаю следующую ошибку:

Key is invalid. 
It must begin with 'ssh-rsa' or 'ssh-dss'. 
Check that you're copying the public half of the key .

Как мне правильно добавить ключ ssh в GitHub?


person Rajani    schedule 05.06.2012    source источник
comment
Вы можете улучшить свои вопросы, отформатировав точное сообщение об ошибке в виде цитаты.   -  person Todd A. Jacobs    schedule 05.06.2012
comment
Сообщение об ошибке @CodeGnome отформатировано и +1 к вашему ответу.   -  person VonC    schedule 05.06.2012
comment
После того, как вы сгенерируете свой ключ ssh, выполните это на терминале: pbcopy ‹ ~/.ssh/id_rsa.pub эта команда скопирует ket в ваш буфер обмена. Затем вставьте его в ключевое поле.   -  person Lücks    schedule 03.12.2013


Ответы (2)


Проблемы

  1. Утилита ssh-keygen обычно по умолчанию генерирует ключи RSA, но ваша реализация может по умолчанию использовать ECDSA, который GitHub в настоящее время не поддерживает.
  2. Если вы действительно генерируете ключи RSA, возможно, вы пытаетесь вставить на сервер свой закрытый ключ вместо открытого ключа.

Решения

  1. Принудительно сгенерируйте ключ RSA, передав флаг -t в ssh-keygen.
  2. Убедитесь, что вы копируете ключ с расширением .pub и что вы включаете строку целиком. Это будет включать префикс ssh-rsa, если вы копируете открытый ключ RSA.

Связанный

Конечно, man 1 ssh-keygen твой друг.

person Todd A. Jacobs    schedule 05.06.2012

Вы должны добавить «шестнадцатеричную часть» и поставить «ssh-rsa» впереди, это должно помочь.

person avatar    schedule 05.06.2012