Насколько безопасно хранить пароль с помощью Git?

Я использую Git на своем рабочем месте, и политика компании не позволяет мне хранить пароли небезопасным способом. Есть ли лучший вариант, чем использовать git config credential.helper store для хранения пароля на сервере Git?

P.S. Невозможно использовать аутентификацию ключа, поскольку она не разрешена на нашем сервере.

Ответ 1

git config credential.helper store не очень безопасен; как сказано в документации:

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

Файл ~/.git-credentials будет иметь свои права на файловую систему, установленные для предотвращения чтения другими пользователями системы, но не будет зашифрован или иным образом защищен.

Таким образом, он сохраняет ваш пароль как есть. Git позволяет использовать ваш брелок git config --global credential.helper osxkeychain для OSX, поэтому он кажется более безопасным. Для системы Linux вы можете использовать git config credential.helper cache, в котором хранятся пароли в вашей памяти. Или вы можете написать свой собственный, как сказано в git help credentials:

Вы можете написать собственные пользовательские помощники для взаимодействия с любой системой в которые вы ведете учетными данными. См. Документацию для Git. учетные данные API для более подробной информации

Кроме того, @VonC указала на кросс-платформенное решение GPG. См. Также этот вопрос о файле .netrc.

Существует также помощник gnome-keyring для Linux (спасибо @jazakmeister за советы)