Управление пользователями Git и паролями - PullRequest
3 голосов
/ 14 декабря 2010

Я использую Git для хранения репозитория проекта на отдельном сервере.В настоящее время для отправки вещей в репозиторий после коммита я делаю

git push

, а затем меня спрашивают пароль для учетной записи, которую я использовал для настройки репозитория git на удаленном сервере.Поскольку прошло некоторое время с тех пор, как я настроил репозиторий, я не уверен, как удалить этот пароль (возможно, плохая идея) или изменить / добавить учетные записи пользователей для репозитория git.Я уверен, что это что-то простое, но мне трудно найти это.Есть ли какой-то аргумент, который мне не хватает для команды push?

Спасибо.

1 Ответ

5 голосов
/ 14 декабря 2010

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

Возможно, вы хотите использовать SSH-аутентификацию с парой открытых / закрытых ключей.Как правило, это означает запуск ssh-keygen на локальном компьютере (если вы этого не делали ранее), а затем использование ssh-copy-id user@host для копирования вашего открытого ключа на удаленный компьютер.(Если у вас нет ssh-copy-id, вы можете просто добавить свой открытый ключ к .ssh/authorized_keys на пульте дистанционного управления; это все, что он делает.) Обязательно предоставьте открытый ключ соответствующему пользователю (тот, у которого есть разрешения длямерзавец репо).

Если вы хотите быть более защищенным, вы можете дать своей ключевой паре ключевую фразу и использовать что-то вроде ssh-agent или keychain, чтобы запомнить ее для сеанса.См. Настройка Git через SSH для получения дополнительной информации об этом.

Если вы собираетесь делать много этого, вы можете захотеть взглянуть на gitolite, который автоматизирует многое из этогоGit Admin типа вещи.Если вы собираетесь продолжать делать это вручную и дать другим возможность использовать это репо, вы можете захотеть создать оболочку пользователя репо git-shell, которая, по сути, представляет собой оболочку без входа в систему, которая может запускать только необходимыекоманды git.

...