Инструменты пользователя

Инструменты сайта


git:authorization_by_keys_on_github

# Github: авторизация по SSH ключам

## Создание ключа и добавление его к списку разрешенных ключей на Github.

1. Просмотр имеющихся ключей. ``` ls -al ~/.ssh ``` нужен для того чтобы либо выбрать один из тех что есть, либо сгенерировать новый

2. Генерируем ключ ``` ssh-keygen -t rsa -b 4096 -C «your_email@example.com» ``` -t - тип ключа (rsa)
-b - длина
-с - комментарий к ключу

При генерации будет запрос на имя для ключа (имя_ключа) и на слово-пароль для ключа

3. Идем в свои настройки на Github в пункт «SSH and GPG keys»

Жмем «New SSH key»

4. В окне добавления ключа:

В поле «Title» вводим имя ключа;

Выводим в консоли содержимое ключа ``` cat имя_ключа.pub ``` копируем его и вставляем в поле «Key»; Жмем «Add SSH key».

При добавлении ключа будет запрос на пароль, вводим - ключ добавлен.

5. Запускаем ssh-agent: ``` eval «$(ssh-agent -s)» ```

6. Добавляем ключ: ``` ssh-add ~/.ssh/имя_ключа ``` (здесь имя_ключа без .pub !!!)

7. Проверяем: ``` ssh -T git@github.com ``` если всё нормально, получаем ответ в виде: ``` Hi username! You've successfully authenticated, but GitHub does not provide shell access. ```

## Автоматический запуск ssh-агента при старте Git Bash

Для того, чтобы ssh-агент каждый раз запускался автоматически при старте Git Bash, добавьте в файл ~/.profile или ~/.bashrc следующий код: ``` env=~/.ssh/agent.env

agent_load_env () { test -f «$env» && . «$env» >| /dev/null ; }

agent_start () {

  (umask 077; ssh-agent >| "$env")	
  . "$env" >| /dev/null ; }	

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! «$SSH_AUTH_SOCK» ] || [ $agent_run_state = 2 ]; then

  agent_start		
  ssh-add		

elif [ «$SSH_AUTH_SOCK» ] && [ $agent_run_state = 1 ]; then

  ssh-add		

fi

unset env ``` Теперь при запуске Git Bash также будет запускаться и ssh-агент.

/var/www/html/dokuwiki/data/pages/git/authorization_by_keys_on_github.txt · Последнее изменение: — 127.0.0.1