{{tag>github deploy key git}}

===== Настройка deploy on github =====

Настраимваем github для работы с **Deploy keys**.

<note important>  
  * **username** - github user name / Имя пользователя на github
  * **reponame** - github repository name / Наименование репозитория
</note>

==== Шаг 1 ====

Проверяем наличие настроек удаленого доступа

<code bash>
$ git remote -v
origin  git@github.com:foo/bar.git (fetch)
origin  git@github.com:foo/bar.git (push)
</code>

==== Шаг 2: Удаляем удаленые настройки ====

<code bash>
$ git remote rm origin
</code>

==== Шаг 3 ====

Устанавливаем настройки на репозитоий **username/reponame.git** github.

<code bash>
$ git remote add origin git@username.github.com:username/reponame.git
</code>

==== Шаг 4: Проверяем наличие установленных настроек ====

<code bash>
$ git remote -v
origin  git@username.github.com:username/reponame.git (fetch)
origin  git@username.github.com:username/reponame.git (push)
</code>

==== Шаг 5: Генерируем ключ для github ====

Генерируем для репозитория на github **username/reponame** ключ **id_rsa-reponame**.

<code bash>
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa-username -C https://github.com/username/reponame
</code>

==== Шаг 6: Добавляем настройки ключа к локальному репозиторию ====

**nano ~/.ssh/config**
<code bash>
Host username.github.com
Hostname github.com
IdentityFile ~/.ssh/id_rsa-username
</code>

===== Проверка =====

Далее запускаем **git pull** из репозитория, при запуске этой команды будет прочитан наш созданный **~/.ssh/config** файл

<code bash>
$ git pull
</code>

===== Документация =====

  * man ssh_config
