2016-01-11 3 views
1

Я использую совместный пользователь, поэтому изменить глобальную папку невозможно. У меня есть репозиторий git, связанный с несколькими пультами. Мне нужно получить доступ к различным пультам дистанционного управления с помощью другого ключа rsa. Возможно ли вставить путь ключа в пределах встроенного git, например. возможно, внутри .git/config, поэтому мне не нужно повторять ввод ключа, когда я делаю клоны, выбирает, толкает, тянет?Укажите ключевой файл в определенном репозитории git

Редактировать: Мне известны аналогичные вопросы, например Specific RSA keys per git repo, но он не дает точного ответа на «за репо».

+0

Каким образом http://stackoverflow.co m/questions/14106982/specific-rsa-keys-per-git-repo не отвечает на этот вопрос? Где решение '.ssh/config' вам не подходит? – Guildencrantz

+0

@Guildencrantz Я не могу изменить .ssh/config, так как пользователь на этом компьютере является совместным пользователем, его изменение заставит все остальные сеансы входа использовать тот же параметр, поэтому мне нужно решение для репозитория, а не для одного файла конфигурации и пусть git autoload его – orb

ответ

1

Вы должны replace the ssh url of your submodules по SSH URL у sing ~/.ssh/config entry names~ ссылаюсь на $HOME глобального пользователя)

Ваш ~/.ssh/config будет включать путь соответствующих частных ключей:

Host repo1 
    HostName git.myhost.lan 
    User git 
    IdentityFile /path/to/global/user/.ssh/repo1PrivateKey 

И для подмодуль repo1:

git config --file=.gitmodules submodule.repo1 .url repo1:user/repo1 
# if needed to follow a branch (if not, skip it) 
git config --file=.gitmodules submodule.repo1 .branch abranch 
git submodule sync 
git submodule update --init --recursive --remote 
git add . 
git commit -m "Change submodule repo1 url" 
git push 
+0

Возможно ли сохранить файл ~/.ssh/config, например $ repo/.git/sshconfig, и сделать что-то на $ repo/.git/config (или аналогичном), чтобы заставить его использовать $ repo/.git/sshconfig для конкретного удаленного/всего удаленного/и т. д.? – orb

+0

@orb технически, config может быть где угодно, если ни одна из его родительских папок не имеет «w» (запись) в своих правах chmod (или ssh считает, что все доступ слишком «небезопасен» для продолжения). Мне не известно о конфигурации для ssh. Может быть, «core.gitProxy», но я его не тестировал. – VonC

 Смежные вопросы

  • Нет связанных вопросов^_^