Авторизация git по ssh ключу в Windows

22.10.2017

Довольно распространенная задача, когда для подключения к git репозиторию, в Windows, используется ssh ключ вместо логина и пароля.

Подготовка:

Итак, для начала стоит обновить сам гит:

Проверяем версию

 
git --version

если версия выше 2.16.2, то

 
git update-git-for-windows

для старых версий:

 
git update

Также стоит проверить имя и емейл:

 
git config user.name
git config user.email

и задать их, если они пустые:

 
git config --global user.name "NAME"
git config --global user.email "NAME@SITE.ru"

Генерация ключа

Пожалуй это самый сложный момент, т.к. встроенных в windows инструментов нет.

Мне самым удобным вариантом кажется генерация ключа на любом машине с linux (например, на виртуальной или на VPS / VDS сервере).

Самый быстрый вариант, это запустить в консоли:

 
ssh-keygen

и на все вопросы нажимать enter, оставляя настройки по умолчанию (подробнее можно почитать в статье: Подключение по SSH без ввода пароля)

В итоге мы получим два файла

/root/.ssh/id_rsa

и

/root/.ssh/id_rsa.pub

Настройки winows

В моем случаи git репозиторий был на bitbucket.org поэтому дальнейшие настройки будут для него. Для github.com настройки похожие.

Открываем папку c:\Users\USER_NAME\.ssh\ (в зависимости от версии windows папка может быть другой).

Копируем в нее файл /root/.ssh/id_rsa

Также создаем в ней файл config (без расширения) с содержимым:

 
Host bitbucket.org
RSAAuthentication yes
IdentityFile c:\Users\USER_NAME\.ssh\id_rsa

Настройка bitbucket

В левом нижнем углу, нажимаем на иконку аккаунта, выбираем: Personal settings (Личные настройки) - SSH keys (SSH ключи) - Add key (Добавить ключ)

pic1

В открывшимся окне нужно ввести ключ из файла /root/.ssh/id_rsa.pub

Все, после этого git не будет запрашивать логи и пароль.


Пометки: bitbucket, git, ssh
Яндекс.Метрика