Перейти к содержимому

Подключаемся к GitHub по ключу вместо пароля SSH

  • автор:

На основе инструкции
https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html

Качаем/устанавливаем Git Windows (64 бит)
https://git-scm.com/download/win
* Разрешаем консоль MinGW, пункты контекстного меню Проводника.

/ Корневой каталог консоли соответствует
c:\Program Files\Git\

~ Домашняя папка пользователя соответствует папке пользователя Windows
c:\Users\Serg\

Правой по любой папке “Git Bash Here”

$ ssh
$ ls ~/.ssh
gihub_rsa github_rsa.pub

Нужные мне файлы уже есть, поэтому пропускаю пункт с генерацией ключа.

Создаем файл конфигурации
$ vim ~/.ssh/config
или как я в Блокноте c:\Users\Serg\.ssh\config

Host github.com
IdentityFile ~/.ssh/github_rsa

Собственно сам скрипт автостарта агента ssh вместе с консолью:

$ vim ~/.bashrc
или в Блокноте c:\Users\Serg\.bashrc

SSH_ENV=$HOME/.ssh/environment

# start the ssh-agent
function start_agent {
echo "Initializing new SSH agent..."
# spawn ssh-agent
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
echo succeeded
chmod 600 "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add ~/.github_rsa
}

if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi

Обычно файл ~/.bash_profile (c:\Users\Serg\.bash_profile) создается автоматом после рестарта консоли, если что у меня он такой:
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

Скопировать содержимое ~/.ssh/github_rsa.pub в настройки GitHub:
https://github.com/settings/ssh

Переключить доступ к удаленному репозиторию по git ссылке:
$ git remote set-url origin git@github.com:shuchkin/PhpStormFG.git

Перезапускаем консоль, проверяем git push
$ git push origin master

Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *