Где git хранит пароли windows

Обновлено: 07.07.2024

Знание того, чего не следует делать, является первым и очень важным шагом. Но как мы храним производственные полномочия. Учетные данные базы данных, системные секреты (например, для HMAC), ключи доступа для сторонних сервисов, таких как платежные системы или социальные сети. Кажется, не существует согласованного решения .

Где-то это может быть локальный каталог (рискованно), общее хранилище, например, FTP или S3, с ограниченным доступом, или отдельный репозиторий git. Я думаю, что я предпочитаю git-репозиторий, поскольку он позволяет создавать версии (Примечание: S3 также делает, но зависит от провайдера). Таким образом, вы можете хранить все свои файлы свойств среды со всеми их учетными данными и конфигурациями среды в git-репо с ограниченным доступом (только сотрудники Ops). И это неплохо, если это не тот же репо, что и в исходном коде.

Такой репо будет выглядеть так:

Поскольку многие компании используют GitHub или BitBucket для своих репозиториев, хранение производственных учетных данных у общедоступного поставщика может по-прежнему рискованно. Вот почему это хорошая идея, чтобы зашифровать файлы в хранилище. Хороший способ сделать это через git-crypt . Это «прозрачное» шифрование, потому что оно поддерживает diff, шифрование и дешифрование на лету. После настройки вы продолжаете работать с репо, как будто оно не зашифровано. Есть даже форк, который работает на Windows .

Вы почти закончили. Надо как-то поделиться и сделать резервную копию ключей. Что касается общего доступа, то не так уж важно, чтобы команда из 2–3 сотрудников делила один и тот же ключ, но вы также можете использовать опцию GPG git-crypt (как описано в README). Осталось сделать резервную копию вашего секретного ключа (он создается в каталоге .git / git-crypt). Вы можете хранить его (защищенный паролем) в другом хранилище, будь то общая папка компании, Dropbox / Google Drive или даже ваша электронная почта. Просто убедитесь, что ваш компьютер не единственное место, где он присутствует и что он защищен. Я не думаю, что вращение ключа необходимо, но вы можете разработать некоторую процедуру вращения.

Авторы git-crypt утверждают, что они превосходны, когда дело доходит до шифрования всего нескольких файлов в публичном репо. И рекомендую посмотреть на git-remote-gcrypt . Но так как часто существуют нечувствительные части конфигураций, зависящих от среды, вы можете не захотеть все шифровать. И я думаю, что это прекрасно использовать git-crypt даже в отдельном сценарии репо. И хотя шифрование является хорошим подходом для защиты учетных данных в вашем репо с исходным кодом, все же не обязательно хорошая идея иметь конфигурации среды в одном репо. Особенно с учетом того, что разные люди / команды управляют этими учетными данными. Даже в небольших компаниях, возможно, не все участники имеют доступ к производству.

В этом случае остаются нерешенные вопросы: как синхронизировать свойства с изменениями кода? Иногда код добавляет новые свойства, которые должны быть отражены в конфигурациях среды. Здесь есть два сценария: во-первых, свойства могут различаться в разных средах, но могут иметь значения по умолчанию (например, запланированные периоды заданий), а во-вторых, свойства, которые требуют явной настройки (например, учетные данные базы данных). Первый может иметь значения по умолчанию, связанные в репозитории кода и, следовательно, в артефакте выпуска, что позволяет внешним файлам переопределять их. Последний должен быть объявлен людям, которые выполняют развертывание, чтобы они могли установить правильные значения.

Весь процесс создания версий конфигураций, специфичных для среды, на самом деле довольно прост и логичен, даже с шифрованием, добавленным к рисунку. И я думаю, что это хорошая практика безопасности, которой мы должны следовать.

Мнения, высказанные участниками Java Code Geeks, являются их собственными.

Я хочу использовать push и автоматически тянут в GitExtension, без ввода пользователя и пароля в строке каждый раз.

Так как я могу сохранить мои учетные данные в мерзавец?

Укажите имя пользователя и пароль, а затем эти детали будут помнить позже. Учетные данные хранятся в файле на диске, с разрешения диске "просто пользователь читаемый/записываемый" но все-таки в открытом виде.

Если вы хотите изменить пароль позже

Не получится, так как пароль неверный, мерзавец затем удаляет провинившегося пользователя+пароль от `

/.ГИТ-учетные файл, так что теперь снова запустите

чтобы создать новый пароль, так что он работает как раньше.

Вы можете использовать Git в конфигурации , чтобы разрешить хранение учетных данных в Git.

Формат хранения `.ГИТ-учетных данных "файл", хранится в незашифрованном виде.

Также, вы можете использовать другие помощники для ГИТ конфиг учетных данных.помощник, а именно кэш-памяти:

которая принимает необязательный параметр тайм-аут , определение как долго данные будут храниться в памяти. Используя вспомогательные учетные данные никогда не коснуться диска и будут удалены после заданного времени ожидания. По умолчанию значение равно 900 секунд (15 минут).`

Предупреждение : Если вы используете этот метод, ваш аккаунт git пароли будут сохранены в формате обычный текст , в глобальной .файл gitconfig хранит настройки , электронная.г в Linux это будет в/Home/[имя пользователя]/.gitconfig хранит настройки

Если это нежелательно для вас, использовать ключ для вашего счета.

Вы можете установить свой логин и пароль, как это:

Очередь на удостоверение помощника так, что Git будет сохранить пароль в памяти в течение некоторого времени:

В терминале введите следующие:

По умолчанию git будет кэшировать пароль за 15 минут.

Чтобы изменить пароль по умолчанию кэшировать, введите следующее:

Вы можете редактировать

/.файл gitconfig хранит настройки в магазина свой полномочия

Который уже должны были

Вы должны добавить в нижней части этого файла.

Причина, по которой я рекомендую этот вариант, потому что это глобальный и если в какой-то момент вам нужно убрать эту опцию, вы знаете, куда идти и менять его.

ИСПОЛЬЗОВАТЬ ТОЛЬКО ЭТУ ОПЦИЮ В СВОЙ ЛИЧНЫЙ КОМПЬЮТЕР.

Затем, когда вы вытащите | клон| введите пароль ты этакий, в общем, пароль будет сохранен в `

/.ГИТ-учетные данные в формате

Restart вашего терминала.

Для глобальной установки, откройте терминал (из любой точки) выполните следующие действия:

К тому, любой локальный git РЕПО, что у вас на компьютере будут использовать эту информацию.

Вы можете индивидуально config для каждого репозитория, выполнив:

  • откройте терминал в папке РЕПО.
  • выполните следующее:

ГИТ конфигурации пользователя.именем "логин"и ГИТ конфигурации пользователя.пароль на "пароль"и

Это влияет только на эту папку (потому что ваша конфигурация местное).

Просто поместите ваши данные в URL, как это:

Вы можете магазин он такой:

. пример для Использовать он:

git толчок myrepo мастер

Теперь это список псевдонимы, URL-адрес:

git удаленного -в

. и что команду, чтобы удалить один из них:

git удаленного РМ myrepo

Вы можете использовать git-учетных данных-хранилище для хранения ваших паролей в незашифрованном виде на диске, защищены только разрешения файловой системы.

Пример

Вы можете проверить учетные данные, хранящиеся в файле `

Вам будет более безопасным, если вы используете SSH аутентификация, чем имя и пароль.

Если вы используете Mac, аутентификация SSH-клиент интегрирован в ОС macOS брелок. После того как вы создали ключ SSH, введите в терминале:

Это позволит добавить закрытый ключ SSH в macOS брелок. Клиент Git будет использовать SSH при подключении к удаленному серверу. Как долго, как вы зарегистрировали свой публичный ключ SSH на сервере, вам будет хорошо.

В этом случае вам нужно в Git учетных данных помощник, чтобы сказать Git, чтобы вспомнить свой гитхаб имя пользователя и пароль, используя следующую командную строку :

и если вы используете РЕПО через ssh-ключа, то вам нужен SSH-ключ для авторизации.

Маки

Мне удалось остановить его от прошу мою фразу:

    Откройте файл config командой: ви

Для Windows

Пройдя за десятки так посты, блоги, и т. д., Я пробовал ** каждый способ, и это то, что я придумал. Он охватывает все.

Эти все способы и инструменты, с помощью которых вы можете надежно проверить подлинность Git для клонирования репозитория без интерактивного ввода пароля.

Хочу Просто Работает™? Это волшебная серебряная пуля.

Получить маркер доступа (см. раздел шпаргалка если вам нужен GitHub или инструкции Gitea для этого) и установить его в переменную окружения (как для локальной разработки и развертывания):

Для GitHub, скопируйте и выполните эти строки дословно:

Не использование GitHub?

Совместимость

Это работает локально в macOS, Linux и ОС Windows (в bash), Докер, CircleCI, в Heroku, Akkeris и т. д.

Я хочу использовать push и pull автоматически в GitExtension, не вводя каждый раз мой пароль и пароль.

Так как я могу сохранить свои учетные данные в GIT?

ОТВЕТЫ

Ответ 1

предоставьте имя пользователя и пароль, и эти подробности будут запомнены позже. Учетные данные хранятся в файле на диске с правами доступа "только для чтения/записи", но в незашифрованном виде.

Если вы хотите изменить пароль позже

Не удастся из-за неправильного пароля, git затем удалит нарушающего пользователя + пароль из файла

/.git-credentials , поэтому теперь перезапустите

предоставить новый пароль, чтобы он работал как раньше.

Ответ 2

Вы можете использовать git config для включения хранилища учетных данных в git.

При запуске этой команды при первом извлечении или удалении из удаленного репозитория вас спросят об имени пользователя и пароле.

После этого для последовательной связи с удаленным хранилищем вам не нужно указывать имя пользователя и пароль.

Формат хранения - файл .git-credentials , хранящийся в виде открытого текста.

Также вы можете использовать другие помощники для git config credential.helper , а именно кеш памяти:

который принимает необязательный timeout parameter , определяющий, как долго учетные данные будут храниться в памяти. С помощью помощника учетные данные никогда не коснутся диска и будут удалены после указанного времени ожидания. Значение по default составляет 900 seconds (15 minutes).

ВНИМАНИЕ: Если вы используете этот метод, пароли вашей учетной записи git будут сохранены в plaintext формате, в global.gitconfig file , например, в linux это будет /home/[username]/.gitconfig

Если это нежелательно для вас, используйте вместо этого ssh key для своих учетных записей.

Ответ 3

Вы можете установить свое имя пользователя и пароль следующим образом:

Ответ 4

Включите помощник по учетным данным, чтобы Git сохранял ваш пароль в памяти в течение некоторого времени:

В Терминале введите следующее:

По умолчанию Git кеширует ваш пароль в течение 15 минут.

Чтобы изменить время ожидания кэша паролей по умолчанию, введите следующее:

Ответ 5

Вы можете отредактировать файл

/.gitconfig чтобы сохранить ваши учетные данные

Который уже должен иметь

Вы должны добавить внизу этого файла.

Причина, по которой я рекомендую эту опцию, заключается в том, что она носит глобальный характер, и если в какой-то момент вам нужно удалить опцию, вы знаете, куда идти и изменить ее.

ИСПОЛЬЗУЙТЕ ЭТОТ ВАРИАНТ ТОЛЬКО В ВАШЕМ ЛИЧНОМ КОМПЬЮТЕРЕ.

Тогда, когда вы тянете | клонировать | введите ваш пароль git, в общем случае пароль будет сохранен в

/.git-credentials в формате

Перезапустите свой терминал.

Ответ 6

Просто поместите свои учетные данные в URL-адрес следующим образом:

Вы можете хранить это так:

. пример его использования:

Теперь, когда в список URL - адрес псевдонимами:

. и что команда удалить один из них:

git remote rm myrepo

Ответ 7

Вы можете использовать git-credential-store для хранения незашифрованных паролей на диске, защищенных только разрешениями файловой системы.

пример

Вы можете проверить учетные данные, хранящиеся в файле

Ответ 8

Для глобальной настройки откройте терминал (из любого места) запустите следующее:

Таким образом, любая локальная версия git-репо, имеющаяся на вашем компьютере, будет использовать эту информацию.

Вы можете индивидуально настроить каждый репо, выполнив:

Это влияет только на эту папку (потому что ваша конфигурация является локальной).

Ответ 9

Вы будете более защищены, если будете использовать аутентификацию SSH, чем аутентификация по имени пользователя/паролю.

Если вы используете Mac, аутентификация клиента SSH интегрирована в связку ключей MacOS. Создав ключ SSH, введите в свой терминал:

Это добавит закрытый ключ SSH в связку ключей MacOS. Клиент git будет использовать ssh при подключении к удаленному серверу. Пока вы зарегистрируете свой открытый ключ ssh на сервере, все будет в порядке.

Ответ 10

В этом случае вам понадобится помощник по учетным данным git, который скажет git запомнить ваш пароль и имя пользователя GitHub с помощью следующей командной строки:

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

Ответ 11

Это все способы и инструменты, с помощью которых вы можете безопасно аутентифицировать git для клонирования хранилища без интерактивной подсказки пароля.

Хотите Just Works ™? Это волшебная серебряная пуля.

Получите свой токен доступа (см. раздел в чит-листе, если для этого вам нужны инструкции Github или Gitea) и задайте его в переменной среды (как для локального разработчика, так и для развертывания):

Для Github скопируйте и запустите эти строки дословно:

Не используете Github?

Для других платформ (Gitea, Github, Bitbucket) просто измените URL. Не меняйте имена пользователей (хотя они и произвольные, они необходимы для разных записей конфигурации).

СовместимостьЭто работает локально в MacOS, Linux, Windows (в Bash), Docker, CircleCI, Heroku, Akkeris и т.д.

Больше информации

См. раздел ".gitconfig Вместо" "на листе.

безопасностиСмотрите раздел "Безопасность" в чит-листе.

Ответ 12

Enter passphrase for key '/Users/myusername/.ssh/id_rsa':

Для Mac

Я смог помешать ему спросить мою фразу-пароль:

    Откройте конфигурацию, запустив: vi

Для Windows

Ответ 13

Помимо редактирования файла

/.gitconfig , вы можете сделать это, если спросите:

Примечание, чтобы всегда использовать одинарные кавычки:

Ваше имя пользователя и пароль могут использовать некоторые символы, которые взломают ваш пароль, если вы используете двойные кавычки.

--local или --global означает, что параметры конфигурации сохраняются для проекта или для пользователя --global .

Ответ 14

и сделайте git pull, он запросит имя пользователя и пароль, с этого момента он не будет запрашивать имя пользователя и пароль, в нем будут храниться детали

Ответ 15

.git-credentials - это место, где хранятся ваши имя пользователя и пароль, когда вы запускаете git config --global credential.helper store , что предлагают другие ответы, а затем введите свое имя пользователя и пароль:

Итак, чтобы сохранить имя пользователя и пароль:

Это очень полезно для робота github, например решить цепочечные автоматические сборки в одном и том же хранилище докеров, имея правила для разных веток, а затем запустить его, нажав на него в перехватчике post_push в концентраторе докеров.

Пример этого можно увидеть здесь в стеке потока.

Ответ 16

Я должен был сделать это, чтобы мои настройки работали после переключения учетных записей github на macos:

Я мог бы также добавить --global:

Ответ 17

Из комментария rifrol о Linux Ubuntu, из этого ответа:

Некоторые другие дистрибутивы предоставляют бинарный файл, поэтому вам не нужно его создавать.

В OS X он обычно поставляется "встроенным" с модулем по умолчанию "osxkeychain", так что вы получаете его бесплатно.

Я хочу использовать push и pull автоматически в GitExtension, без ввода моего пользователя и пароля в приглашении, каждый раз.

Итак, как я могу сохранить свои учетные данные в git ?

Укажите имя пользователя и пароль, и эти данные будут запомнены позже. Учетные данные хранятся на диске с разрешениями на диск.

если вы хотите изменить пароль позднее

указать новый пароль и он будет работать как раньше.

можно использовать git config чтобы включить хранение учетных данных в git

при выполнении этой команды в первый раз, когда вы потянете или нажмете из удаленного репозитория, вас спросят об имени пользователя и пароле.

после этого, для последующей связи с удаленным репозиторием вам не нужно указывать имя пользователя и пароль.

формат хранения a . git-credentials файл, сохраненный в открытом тексте.

также вы можете использовать другие помощники для учетных данных конфигурации git.помощник, а именно кэш :

что происходит timeout parameter , определяя, как долго его деймон должен работать и default значение этого 900 seconds (15 minutes).

включите помощник учетных данных, чтобы Git сохранял ваш пароль в памяти в течение некоторого времени:

в терминале введите следующее:

по умолчанию Git будет кэшировать ваш пароль в течение 15 минут.

чтобы изменить тайм-аут кэша паролей по умолчанию, введите следующее:

вы можете редактировать до магазине код полномочия

который уже должны есть!--11-->

вы должны добавить в нижней части этого файла.

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

ИСПОЛЬЗУЙТЕ ЭТУ ОПЦИЮ ТОЛЬКО В ВАШЕМ ПЕРСОНАЛЬНОМ КОМПЬЮТЕРЕ.

затем когда вы потянете| клонируете / вводите пароль git, в общем, пароль будет сохранен в

/.git-credentials в формате

вы можете установить свое имя пользователя и пароль следующим образом:

вы будете более безопасны, если вы используете аутентификацию SSH, чем аутентификацию имени пользователя / пароля.

Если вы используете Mac, аутентификация клиента SSH интегрирована в связку ключей MacOS. После того как вы создали ключ SSH, введите в терминале:

это добавит закрытый ключ SSH в связку ключей MacOS. Клиент git будет использовать ssh при подключении к удаленному серверу. Пока вы зарегистрировали свой открытый ключ ssh на сервере, вы будете быть хорошо.

просто поместите учетные данные в Url-адрес следующим образом:

вы можете магазине это:

. пример использовать это:

вот это список URL-адрес псевдонимы:

. и что команда удалить одну из них:

git remote rm myrepo

в этом случае вам нужен git Credential helper, чтобы сказать git, чтобы запомнить пароль и имя пользователя GitHub, используя следующую командную строку:

и если вы используете repo с помощью SSH-ключа, вам нужен SSH-ключ для аутентификации.

вы можете использовать git-credential-store для хранения незашифрованных паролей на диске, защищенных только разрешениями файловой системы.

Читайте также: