Какой лучший зашифрованный помощник по учетным данным git для Linux?

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

Во всех git docs и соответствующей документации git-credential, которые я видел, они даже не упоминают о существовании такой вещи. В нем всегда упоминается osxkeychain для Mac, но затем, если вы работаете в Linux, он просто перенаправляет вас на документ, который объясняет, как использовать "кеш" в качестве помощника. В некоторых ссылках упоминается менеджер учетных данных git от Microsoft для использования в Windows. Но ничего для Linux.

Использование кеша выглядит полу-нормальным решением, если вы используете реальные пароли. Не страшно, но далеко от идеала. Но если вы используете токены личного доступа (которые вы должны использовать, если вы хотите поддерживать безопасность 2-фактора в учетной записи для своего репо), то это не нужно. Необходимость время от времени вводить один из этих случайно сгенерированных PAT, независимо от того, насколько они редки, является действительно плохой идеей. Вы не можете реально запомнить их, и хранение их где-то в виде простого текста является компромиссом безопасности. (Кроме того, что, если вы хотите автоматизировать некоторые операции git? Не собирается работать.)

Итак, какое здесь решение? Если он существует как для Windows, так и для Mac, я уверен, что есть хотя бы один хороший вариант для Linux, вероятно, много. Я слышал, что вы можете сделать это с Gnome, например. Но если у вас нет Gnome, что вы должны делать? Я слышал, что менеджер Microsoft для Windows может работать под Linux, но еще не пробовал. Это единственный вариант там? Есть ли вариант с открытым исходным кодом?

3 ответа

Решение

Вот что мы имеем в источниках git: https://github.com/git/git/tree/master/contrib/credential

Так что вы можете использовать gnome-keyring (Устаревшее), libsecret или зашифрованный gpg .netrc,

libsecret Я думаю, можно использовать с любым дистрибутивом Linux без GNOME.

git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

См. /questions/25997415/oshibka-pri-ispolzovanii-pomoschnika-po-uchetnyim-dannyim-git-s-gnome-keyring-kak-sudo/25997430#25997430.

Это как использовать gpg-зашифрованный .netrc: /questions/13042728/est-li-sposob-propustit-vvod-parolya-pri-ispolzovanii-https-na-github/13042740#13042740.

Попробуйте git-credential-oauth, включенный во многие дистрибутивы Linux , включая Fedora, Debian и Ubuntu.

Никаких больше паролей! Больше никаких токенов личного доступа! Больше никаких SSH-ключей!

Помощник по учетным данным Git, который обеспечивает безопасную аутентификацию в GitHub, GitLab, BitBucket и других форжах с использованием OAuth.

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

Это совместимо с любым выбранным вами помощником хранилища, например git-credential-cache или git-credential-libsecret.

Если вы уже используете менеджер паролей, такой как 1Password или Lastpass, или pass или gopass, вы, вероятно, можете использовать его для управления своими учетными данными git, если вы используете его только в своей локальной системе или той, которой вы доверяете.

Я быстро поискал и нашел несколько git-credential-APPNAME помощники для каждого из вышеперечисленных (gopass должен быть совместим с реализацией pass).

Другие вопросы по тегам