Довольно распространенная задача, когда для подключения к git репозиторию, в Windows, используется ssh ключ вместо логина и пароля.
Авторизация git по ssh ключу в Windows
Подготовка:
Итак, для начала стоит обновить сам гит:
Проверяем версию
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
Есть обновленная информация по авторизации в github по ключу в windows (IdentityFile)
Настройка bitbucket
В левом нижнем углу, нажимаем на иконку аккаунта, выбираем: Personal settings (Личные настройки) - SSH keys (SSH ключи) - Add key (Добавить ключ)
В открывшимся окне нужно ввести ключ из файла /root/.ssh/id_rsa.pub
Все, после этого git не будет запрашивать логи и пароль.