我通过
在我的Ubuntu 10.4服务器上安装了gitosis apt-get install gitosis
然后我用
初始化了admin资源库 sudo -H -u gitosis gitosis-init < nameOfThePublicKeyFile
在此之后,我认为管理存储库只适用于提供适合存储库公钥文件的私钥的客户端。所以,为了确保,我测试了是否可以在没有私钥或使用虚拟私钥的情况下克隆存储库。不幸的是,令人惊讶的是它有效 我用windows上的tortois git测试了它。
因此我的问题是: 如何保护我的存储库,以便只有在我提供正确的私钥时才能克隆它们。
我是否跳过安装过程中的重要步骤或其他任何事情?
感谢您的帮助!
答案 0 :(得分:1)
我想我发现了这个错误,它与gitosis无关。
我发现我在Windows上的tortoisgit客户端以某种方式缓存了git连接的正确私钥文件,如果它成功克隆了一次存储库。即使我之后提供了错误的密钥文件。(我不知道它在哪里保存它,但我在配置文件中看到它是在克隆存储库时由tortoisgit创建的。)
我试图用另一台Windows计算机克隆我的存储库,只是为了确定,这只是一个缓存问题。并且从未看到我的私钥文件的其他计算机无法克隆存储库。
答案 1 :(得分:0)
当GUI失败(这里是TortoiseGit)恢复到CLI(msysgit或git本身)以查看问题是否仍然存在时,它总是很有用。
您发现它可能与TortoiseGit中的身份验证缓存问题有关,bug 659确实说明了缓存问题。
另一种选择是尝试使用'config'ssh地址,即基于ssh配置文件的ssh地址(您可以在其中明确引用用于该连接的私钥名称)。
请参阅示例“NBGit to remote host with ssh”或“git + assembla + multiple ssh keys/multiple computers”。