top of page

авторизация SSH в Git и TortoiseGit

  • Фото автора: Алик Ким
    Алик Ким
  • 4 нояб. 2023 г.
  • 2 мин. чтения

Обновлено: 29 янв. 2024 г.

работаю с Git через Tortoise git.

к своему, получается, стыду, всегда указывал файл ключа для клонируемых репозиториев явным образом:



а тут понадобилось поработать через командную строку (git-subtree). и пришлось поразбираться, как должна адекватная авторизация в GIT выглядеть.

в итоге:

- git работает через SSH

- в стек приложений SSH-клиента входит SSH-агент. в нем мы регистрируем файлы с приватными ключами (публичные ключи мы регистрируем на стороне git-репозитория, например, на github)

- когда Git обращается к репозиторию (например, клонирует его) по SSH - он запрашивает у SSH-агента все зарегистрированные ключи и один за одним пытается авторизоваться через них, пока один из них не подойдет.

- по умолчанию на Windows вместе с Git устанавливается ssh-agent.exe (или чтото вроде того) - SSH-агент, который работает через командную строку

- Tortoise git устанавливает вместе с собой стек приложений Putty - я так понял, это - Windows-SSH-клиент + набор GUIшных утилит для работы с SSH-ключами: PuttyGen - генерация ключей, Pageant - вот, GUI-шный ssh-агент/менеджер ключей



- в ходе установки Tortoise спрашивает/предлагает использовать в качестве SSH-агента (менеджера ключей) Peageant, так что через Tortoise ключи отсбда подхватываются сразу.

- чтобы Git тоже использовал в качестве SSH-агента Pageant - создаем перменную среды GIT_SSH со значением - путем до "TortoiseGitPlink.exe"(включительно), которая приходит вместе с Tortoise.

* Plink.exe - я так понимаю, что-то типа адаптера к Pageant, чтоб его можно было использовать как ssh-агента SSH-клиентами.

* TortoiseGitPlink - ее версия в составе Tortoise Git (любопытно, модифицирована ли как то)

все, git работает с ключами из Pageant


еще поддерживается фича зашифрованных приватных ключей - приватный ключ шифруется паролем (я так понимаю, это делается на этапе генерации ключа), и Pageant раз за сессию (до перезагрузки?) запрашивает пароль на используемые ключи.


UPD: этот дурачок pageant зачем то после закрытия забывает файлы ключей, которые в него добавляли (типа, супер-безопасность? хмм ну можт можт...).

есть воркэраунд - в команду запуска pageant вторым и последующими параметрами передавать пути к файлам ключей (ppk)

но все равно странноватое неудобство для приложения, смысл существования котрого - сделать работу с ключами более юзер-френдли


UPD2: оочень полезная кроха информации, добытая опытнаым путем: если для двух файлов ключа задать один и тот же пароль - Pageant запросит его лишь единожды!


 
 
 

Недавние посты

Смотреть все

Comments


Околокомпьютерный блог Алика

  • alt.text.label.Facebook

© Околокомпьютерный блог Алика , 2022. Сайт создан на Wix.com

bottom of page