我可以在全球范围内使用TortoiseGit注册PuTTY密钥(不是每个repo)吗?

时间:2016-11-22 08:12:19

标签: windows git putty tortoisegit pageant

我熟悉使用TortoiseGit + PuTTY访问遥控器,你可以设置用于给定遥控器的PuTTY键:

  • “设置”窗口中的“远程”节点
  • .git\config档案......
[remote "upstream"]
url = git@gitlab.com:name/project.git
fetch = +refs/heads/*:refs/remotes/upstream/*
puttykeyfile = C:\\Users\\name\\Documents\\key.ppk

...并获得Pageant整合的好处等等。

这在本地开发环境中按预期工作。但是,我们现在在共享位置\\server\share\myrepo共享暂存存储库,以便任何团队成员都可以根据需要更新该存储库。这意味着我们无法将puttykeyfile值存储在\\server\share\myrepo\.git\config中,因为它对每个团队成员都是唯一的。

是否可以在puttykeyfile或其他特定用户而不是特定于回购的地方定义“全局”%USERPROFILE%\.gitconfig

2 个答案:

答案 0 :(得分:3)

无需手动编辑.git/configgit config命令包含--system--global--local等选项。

  • “local”表示“为该存储库设置”。
  • “global”表示“为该用户的所有存储库设置”。
  • “system”表示“设置该计算机的所有用户”。

因此,您可以通过以下方式设置您的值:

git config --global remote.upstream.puttykeyfile C:\\Users\\name\\Documents\\key.ppk

但是(如上所示)每个远程配置密钥文件。也许你应该给你的上游/起源遥控器一个更好的名字,如“github”或“gitlab”。然后你可以为github指定一个键,为gitlab指定一个键,一切都应该正常。

答案 1 :(得分:1)

  1. 不是将putty密钥文件存储在repo/.git/config中,而是可以通过发出%HOME%\.gitconfig将其存储在git config --global remote.upstream.puttykeyfile path\\to\\key.ppk中,其中upstream是远程的名称想要使用密钥。

  2. 您还可以使用PuTTY会话在那里定义默认密钥(全局用于"默认连接"或用于特定服务器名称,在SSH下调用会话 - >在PuTTY中验证)。请参阅https://tortoisegit.org/docs/tortoisegit/tgit-ssh-howto.html

  3. 或者,您也可以切换到https,而不是使用SSH,这些凭据存储在本地。