#bash #git #shell #security #gitlab
#bash #git #оболочка #Безопасность #gitlab
Вопрос:
Контекст
Предполагая, что:
- У меня есть репозиторий на GitLab, и я уже клонировал его на своей машине.
- У меня есть токен GitLab, позволяющий мне отправлять и извлекать из этого репозитория.
- Этот токен уже сохранен в моем хранилище Bitwarden.
- Благодаря командной строке Bitwarden я могу программно аутентифицировать / блокировать / разблокировать свое хранилище.
Вопрос
Есть ли способ программно связать / передать токен GitLab, полученный на лету Bitwarden, с командами git push и pull для аутентификации / авторизации этих операций?
Расследования
Я слышал о следующих решениях для решения проблемы, но они не соответствуют правилам безопасности, с которыми мне нужно столкнуться: я не могу хранить какие-либо секреты в виде обычного текста на диске.
- Токен GitLab можно поместить в файл git credentials helper.store. Здесь токен GitLab должен храниться в виде обычного текста в файле хранилища.
- Удаленные URL-адреса git можно изменить, чтобы включить в них учетные данные. Здесь токен GitLab должен храниться в виде обычного текста в удаленных URL-адресах git.
Примечания
- Я не могу использовать ключи SSH, мне нужно оставаться на протоколе HTTPS.
- Версия git, на которую я ориентируюсь, предлагается из официальных пакетов Ubuntu (
2.17.1
на момент написания).
Комментарии:
1. Вы смотрели раздел пользовательских помощников
gitcredentials
в документации? Похоже, в этом есть почти все, что вам нужно.2. Эй, @larsks, Нет, я не смотрел, но теперь, когда я прочитал это (вместе с кодом в AZMCode / git-credential-bw, предложенным @VonC), это, кажется, идеально подходит для моего варианта использования. Теперь мне нужно разобраться с деталями реализации, я вернусь сюда, чтобы дать отзыв.
3. @larsks Версия git, которую я использую
2.17.1
, для которой в документации нетCUSTOM HELPERS
раздела с тем же содержимым (для 2.13.7 он почти пуст). Знаете ли вы, является ли это недавно введенной функцией или недавно была обновлена только документация?4. Я не уверен, когда изменилась документация. Возможно, вы захотите обновить свой Git; текущая версия 2.29.2.
5. @HadrienTOMA Я не думаю, что вам нужно обновляться: любой
git-credential-xxx
исполняемый файл все равно будет рассматриваться как пользовательский помощник, даже в версии 2.17.
Ответ №1:
Вы можете проверить, выполняет ли пользовательский помощник учетных данных Git AZMCode/git-credential-bw
то, что вам нужно.
Это проект по интеграции командной строки Bitwarden с Git, чтобы избежать неудобств, связанных с многократным повторным вводом пароля или управлением несколькими учетными данными Bitwarden для разных сайтов.
git config credential.helper bw
Комментарии:
1. Это кажется интересным, мне нужно что-то гораздо более простое, но я думаю, что смогу извлечь нужные части. Большое вам спасибо, я вернусь к своему прогрессу в этом здесь.