在特定的git存储库中指定密钥文件

时间:2016-01-11 02:39:47

标签: git ssh-keys

我正在使用协作用户,因此无法更改全局文件夹。我有一个与几个遥控器连接的git存储库。我需要使用不同的rsa密钥访问不同的遥控器。是否可以在本机git中插入密钥路径,例如也许在.git / config里面,所以当我做克隆,抓取,推送,拉动时,我不需要重复输入关键路径?

编辑:我知道类似的问题,例如Specific RSA keys per git repo,但它没有提供“每次回购”的确切答案。

1 个答案:

答案 0 :(得分:1)

您需要replace the ssh url of your submodules通过ssh url u 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