Проверка хранилища на основе загруженных ключей SSH
Я настроил свой сервер Git с помощью Gitosis. Мне нужно оформить репозиторий от имени другого пользователя на одном компьютере.
Предположим, есть две машины:
- Сервер на базе Linux (на котором репо проводится под именем пользователя "GIT"; другой пользователь "Dev1" является одним из разработчиков)
- Windows-машина (имя пользователя "tech_geek")
Как я могу оформить репо как "Dev1" на машине с Windows, а также как "tech_geek"? Таким образом, на машине с Windows будет проверено два репозитория.
2 ответа
1) Клон Gitosis admin repo:
$ git clone git@SERVER:gitosis-admin.git
2) Добавьте открытые ключи Dev1 и tech_geek по SSH в gitosis-admin/keydir
(переименуйте каждый открытый ключ в id_rsa.pub) как dev1.pub и tech_geek.pub. Добавить в файл gitosis-admin/gitosis.conf
[group developers]
members = dev1 tech_geek
[group new_project]
writable = new_project
members = @developers
где new_project - имя репо (без суффикса.git)
3) совершить и нажать
$ cd gitosis-admin
$ git add .
$ git commit -m "New devs and repo for new_project"
$ git push
4) Попробуйте клонировать репо (как пользователь Dev1 или tech_geek) с хостов Windows
$ git clone git@SERVER:new_project.git
В настоящее время используется переменная окружения GIT_SSH_COMMAND . (GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_example" пример клона git)
Смотрите: https://superuser.com/questions/232373/how-to-tell-git-which-private-key-to-use
Если вы используете один из инструментов GUI, вам будет проще выбрать ключ.