2010-12-23 4 views
3

Я начинаю работу с GitHub, и я понятия не имею, что я делаю.Какой должен быть ключ GitHub SSH?

Что такое SSH-ключ? Что я должен устанавливать в качестве ключа? Я все исправлю?

EDIT:

Я на OSX

+0

У них есть подробные инструкции онлайн здесь, если вы находитесь на коробке * nix: http://help.github.com/msysgit-key-setup/ –

+0

RTFM! http://help.github.com/mac-set-up-git/ :) – plaes

ответ

6

Если у вас есть Linux (или msysGit или Cygwin ...):

  1. Перейти в каталог ~/.ssh
  2. Проверьте, если у вас уже есть этот файл: id_rsa.pub
    • Если нет, то создайте его с помощью следующей команды: ssh-keygen -C "[email protected]" -t rsa
  3. Получить содержимое этого файла (cat id_rsa.pub) и просто скопировать и вставить в GitHub.

Все.

+2

Работает и на OS X. – Moshe

+1

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

+2

Michiel Kalkman: Для этого нет необходимости **, чтобы копировать защищенный ключ с одного жесткого диска на другой, нарушает идею безопасности. Вы можете иметь более одного открытого ключа в своей учетной записи GitHub.Если один ssh-ключ взломан, например, из отказа жесткого диска или он случайно скопирован в общедоступное местоположение; вы всегда можете удалить ключ из GitHub, создать новый на своем компьютере и загрузить новый открытый ключ в GitHub. Поэтому открытый ключ обычно заканчивается комментарием, с которого было создано имя пользователя @ computer, для того, чтобы отличить, какой ключ используется на каком компьютере. – Spoike

0

Советы Linux с помощью ssh-keygen наиболее определенно будут работать в OSX в командной строке. При этом метод Адриано должен работать нормально. Не забудьте вставить паб-ключ, а не другой.

7

Чтобы ответить на ваш первый вопрос:

Для этой цели, подумайте о SSH как метод защищенной связи, с использованием криптографии.

Для большинства криптографических алгоритмов вам и GitHub необходимо будет согласовать ключ отдельно, что в целом нецелесообразно. Поэтому SSH использует класс криптографических алгоритмов, называемый «открытый ключ» или «асимметричный».

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

Таким образом, вам необходимо сгенерировать ключи случайным образом, и вы вызываете один свой открытый ключ и один ваш частный. Вы отправляете свой открытый ключ в GitHub или кому-то еще, кто этого хочет. (Многие из них обрабатываются автоматически, при условии правильного программного обеспечения.) Затем GitHub может тайно отправлять вам информацию, шифруя ее открытым ключом, и только вы можете ее расшифровать. GitHub также отправит вам открытый ключ, чтобы вы могли отправлять секретные сообщения.

На практике эти шифры неэффективны, поэтому то, что вы отправляете туда и обратно, является ключом для эффективных криптографических алгоритмов.

+0

+1 для углубленного ответа. – Craige

Смежные вопросы