Git и генерация SSH- ключей на Mac.

Давайте сначала разберем что такое SSH ключи. (Secure Shell) в переводе с английского “безопасная оболочка”. Более подробно про SSH вы можете посмотреть в Викепедии. SSH позволяют безопасно передавать в незащищенной среде практически любой другой сетевой протокол.
Эти ключи нужны для авторизации, вы генерируете два ключа, один копируете на сервер github, а другой остается у вас на машине. В итоге когда вы будете осуществлять доступ к сервису со своей машины, будет происходить авторизация с помощью ключей (того который остался у вас на машине и того который вы поместили на github сервер).

Скачать последнюю версию Git со страницы проекта на Google Code (установка простая и не требует комментариев).

Многие Git-серверы используют аутентификацию по открытым SSH-ключам. Для того чтобы предоставить открытый ключ, пользователь должен его сгенерировать, если только это не было сделано ранее. Этот процесс похож во всех операционных системах. Сначала вам стоит убедиться, что у вас ещё нет ключа. По умолчанию пользовательские SSH-ключи хранятся в каталоге ~/.ssh этого пользователя. Вы можете легко проверить, есть ли у вас ключ, зайдя в этот каталог и посмотрев его содержимое:

check_key

 

имя_ключа.pub — это ваш открытый ключ, а имя_ключа — ваш секретный ключ.

Если вы хотите сделать копию и удалить существующие ключи, вам помогут следующие команды:
ls
mkdir key_backup
cp имя_ключа *key_backup
rm имя_ключа_rsa *

1. Создание нового ключа, команда
>> ssh-keygen -t rsa -C «your_email@youremail.com»
your_email@youremail.com — ваша почта с github

mail_github
Вас поросят ввести имя файла ключа, введите например my_test_key
>>Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa): my_test_key
Далее вводите пароль и повторите его
>>Enter passphrase (empty for no passphrase):123456
>>Enter same passphrase again: 123456
все ключи созданы и находятся в папочке C:\Documents and Settings\..\.ssh
и называются
my_test_key это приватный ключ, который хранится у вас на компе для последующего доступа на github
my_test_key.pub содержимое этого файла, будет хранится на github в вашем аккаунте

generation_key

2. Далее идете на github логинетесь под своим логином (https://github.com/sitsiliya), в свой профайл, выбираете Accout Setting, далее в меню выбираем SSH Keys, потом на кнопочку Add SSh key. Title пишите любой, а key копируете все содержимое без каких — либо изменений из файла my_test_key.pub(откроете его в текстовом редакторе) сохраняете изменения.

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

key_copy

 

 

Все должно работать

github1

github2

 

github3

3. тестируем, что все хорошо
>> ssh -T git@github.com
Если вы все сделали правильно увидите сообщение
Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.

access_github

 иначе сообщение будет таким
The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? Не волнуйтесь все идет хорошо и просто введите yes.
Но если у вас появилось сообщение Permission denied (publickey), то проделайте следующий пункт

4.Папка .ssh скрыта, чтобы увидеть скрытые фалы нужно ввести следующую команду:

defaults write com.apple.Finder AppleShowAllFiles YES && killall Finder

В папке C:\Documents and Settings\..\.ssh найдите файл config, или если нет его создайте, и исправьте содержимое на следующее:
Host github.com
Hostname github.com
User ваш_логин
IdentityFile ~/.ssh/my_test_key
my_test_key- ваш созданый ключ

file_config

И снова введите команду: >> ssh -T git@github.com, после чего должно все должно работать.

После чего можно начинать работу с git.

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий