Персональный блог Игоря Антонова aka "spider_net"

Как начать использовать GIT. Часть 1. Генерируем SSH-ключи


Рубрика: Linux -> Программирование
Метки: | | | | | | | |
Просмотров: 11453
Как начать использовать GIT. Часть 1. Генерируем SSH-ключи

Пару лет назад я писал достаточно подробную статью о самой известной распределенной системе управления версиями - git. Статья писалась специально для журнала “Хакер” и там было больше теории, чем практики. Из-за малого количества практических примеров, ко мне в почту до сих пор приходят письма с различными вопросами. Я стараюсь отвечать всем и подробно, но одинаковые вопросы уже немножко надоели. Поэтому я решил собраться с мыслями и сделать небольшой “howto” по применению git.

В этом цикле будет совсем немного теории, но будут конкретные рецепты. Если вы никогда не использовали git, то рекомендую прочитать мою старенькую статью, а потом приступать к изучению заметок нового цикла. В первой заметке мы рассмотрим процесс регистрации учетной записи на git-хостинге и подготовки SSH-ключей для повышения удобства взаимодействия с удаленным репозиторием.

Регистрируемся в BitBucket/GitHub

На просторах сети есть множество различных git-хостингов. Самыми популярными уже несколько лет подряд являются GitHub и BitBucket. Оба проекта хороши и у каждого есть уникальные фичи. Чтобы не мучить вас сравнительным обзором скажу сразу главное преимущество BitBucket перед GitHub - количество бесплатных приватных репозиториев. GitHub позволяет бесплатно создать только один приватный репозиторий, а BitBucket целых пять. Если вы пока не хотите создавать только открытые репозитории, то воспользоваться услугами BitBucket будет более предпочтительно.

Официальный сайт BitBucket

Вы можете выбрать любой git-хостинг, но я буду ориентироваться именно на BitBucket. Если вы решили остановиться на GitHub, то не переживайте. Принцип один и тот же. В общем, создавайте аккаунт в любом git-хостинге и сразу переходите в настройки профиля. В BitBucket это пункт Manage Account.

Генерируем SSH ключ

После регистрации вы сразу же можете создать первый репозиторий и перенести в него файлы из локального. В этом случае вам придется ввести в консоле логин/пароль от вашего аккаунта BitBucket/GitHub.

Каждый раз вводить свой логин/пароль из консоли - дело неблагородное. Чтобы не париться, сразу сгенирируем SSH-ключ и с помощью которого вы сможете работать с удаленными репозиториями без необходимости ввода логина и паролей.

Дальше все операции будут проводится в консоли (OS X, Linux). Если вы используете Windows, то для генерации SSH-ключей можете воспользоваться утилитой, входящий в дистрибутив популярного SSH-клиента Putty. Инструкцию обязательно сделаю, но в отдельной заметке, сейчас нет под рукой компьютера с Windows.

Для формирование пары ключей вводим команду:

$ ssh-keygen -t rsa -C “ваш email”

Например:

$ ssh-keygen -t rsa -C "antonov.igor.khv@gmail.com"

Программа ssh-keygen задаст вам несколько вопросов (имя файла для ключа, секретная фраза и т.д.). Рекомендую не изменять имя файла. Секретную фразу вводите по желанию - если введете, то потом придется вводить ее при соединении или сохранить в связке ключей. Отвечайте на них и после завершения формирования пары ключей, скопируйте содержимое публичного ключа в буффер обмена. Выполнить эту операцию можно несколькими способами. Самый простой - открыть ключ ~/.ssh/id_rsa.pub (если вы использовали имя по умолчанию) в вашем любимом текстовом редакторе и скопировать текст с ключом. Я предпочитаю копировать данные в буфер напрямую из консоли с помощью утилиты pbcopy:

$ pbcopy < ~/.ssh/id_rsa.pub

Отлично, ключ скопировали. Теперь добавим его в ваш аккаунт на BitBucket/GitHub. Возвращаемся к браузеру (помните, мы заходили в Manage account?) и в панели управления аккаунтом BitBucket переходим в раздел Security -> SSH Keys. Нажимаем “Add Key” и в появившемся окне вводим имя (обычно указывается имя компьютера на котором хранится ключ) и вставляем из буфера обмена ранее скопированный ключ. Далее нажимаем “Add SSH Key”.

Управление аккаунтом в BitBucket

Добавляем SSH Key в BitBucket

Теперь остается только проверить работоспособность проделанных действий. Открываем терминал и в нем вводим команду:

$ ssh -T git@bitbucket.org

При первом подключении вам может быть выдано сообщение о невозможности проверки подлинности хоста. Игнорируйте его и сразу вводите “yes”. Дальше должно появится сообщение о состоянии подключения. Если видите что-то вроде: “You can use git or hg to connect to Bitbucket. Shell access is disabled.” или “You’ve successfully authenticated...”, то поздравляю, вы правильно сгенировали ключи и вам не придется постоянно вводить логин/пароль.

На сегодня это все. Завтра создадим удаленный репозиторий, подготовим локальный и перенесем его в удаленный.

Оставьте комментарий!
comments powered by HyperComments