我正在做一个项目,一部分在我的笔记本电脑上,一部分在大学实验室的电脑上。在那台电脑上,我只有访客访问权限,并与其他学生共享配置文件。我在 GitLab 上创建了一个私人存储库,现在我想从大学的电脑连接到它,这样其他人就无法克隆我的存储库。公共电脑运行的是 Windows 7。我想到的第一个解决方案是禁用 Windows 凭据管理器中的密码存储,这样每次我尝试连接到我的 git 存储库时它都会要求输入凭据,但是我想我需要管理权限才能做到这一点。另一个选择是设置 SSH 身份验证,但据我所知,我的私钥必须存储在公共电脑上,这听起来不太安全。
答案1
- 安装、配置和使用使用 Git 进行 Plink对于 ssh:// repos
- 对于 Pageant 中的密钥,您只需拥有两个文件(公钥和私钥)并知道私钥的密码(使用非常强的密码,您的私钥甚至可以存储在公共场所,无论如何,公钥都不是安全数据)
答案2
无法完全保护您在他人管理的计算机上的信息;如果他们有哪怕是适度的动机,他们总有办法访问存储在该计算机上的任何信息,甚至只是通过该计算机访问信息。话虽如此,您可以采取一些措施来限制他们可能造成的损害。
您肯定想使用 SSH,创建一个仅供该计算机使用的新 SSH 密钥,并确保该密钥具有强密码。您还应尽可能限制使用该密钥可以访问的内容。我不会将密钥添加到您的主 GitLab 帐户,而是会创建第二个 GitLab 帐户,并使用该私有存储库的分支,让您的主帐户对该分支具有完全访问权限,并通过该第二个帐户运行发送到实验室机器或从实验室机器发送的所有提交。
您将需要定期使用您的笔记本电脑和主要凭证从您的主存储库获取任何新的更改并将其推送到 fork 存储库,并从 fork 存储库中提取新的提交(如果您甚至从实验室机器上执行任何操作),然后在仔细检查它们以确保它们确实是您所做的提交后,将它们带回主存储库。
当您不再需要使用实验室机器时,您当然应该从第二个 GitLab 帐户中删除实验室机器的密钥,并且您甚至可以考虑在不使用它时(夜间、周末等)禁用第二个帐户上的该密钥。