如何避免被锁定在GIT repo / SSH之外?

时间:2011-06-25 08:55:11

标签: git version-control ssh

我使用ssh-keygen创建了ssh密钥,然后在源代码repo站点上创建了一个repo,assembla.com作为GIT存储库。我必须用我的私钥(或者它是我的公钥?)上传文件到repo,现在我能克隆没问题。

我有一个朋友尝试访问回购并且他无法做到,这很好,因为我没有为回购配置任何客人,并希望它是私有的。

但现在我不确定如何确保我将来不会失去对自己的回购的访问权限。我是否需要从用户目录中保留我的.ssh文件夹的副本?从mac os x中的钥匙串工具导出钥匙串?我仍然试图充分了解其工作原理,但SVN是否只需要用户名+传递来进行回购访问?我应该怎么做才能让我自信而安全地使用GIT SSH仓库,这样我将来不会失去对它的访问权限?

2 个答案:

答案 0 :(得分:2)

你应该将你的私人ssh密钥保存在干燥,温暖,没有阳光,安全的地方:你的硬盘,你的备份硬盘,你在其他城市/国家的备份位置。

由于您的密钥受强大的长胖随机安全密码保护,您可以“按原样”保存,但最好将其保密。

答案 1 :(得分:0)

.ssh文件夹中的三个文件:

  • known_hosts只是您已连接的主机列表。它的主要目的是保护您免受中间人攻击,其中某人邪恶假装成您尝试连接的主机。您也可以将其包含在备份中,但不会让您失去访问权限。

  • id_rsa是私钥。这是你用来表明自己的方式。顾名思义,这是私人的。拥有它的任何人,就这个密钥对而言,就是你。你当然应该支持它 - 但是安全!

  • id_rsa.pub是公钥。这就是你真正给人的东西。当您使用密钥对身份验证在某个地方进行ssh时,它是服务器上的公钥和来自您的客户端的私钥的组合。备份它;没有它,你目前所做的一切都会继续工作,但是你无法将它传递给任何更多的服务器,所以你会被困住。

至于空密码短语,很多人都这样做。它肯定不是最安全的,但是犯下更糟糕的罪行。密码只是一个额外的保护层。要被识别为您,您必须提供私钥(您拥有的东西)和密码(您知道的)。在避免被锁定帐户方面,好吧,不要忘记它,你不会有问题。空的一个会给你带来更多的便利,而且没有忘记它的危险,但是会牺牲一些安全性。

最后,大多数git托管不会独占使用ssh访问。如果您有一个可以通过其他方式进行身份验证的集合帐户,那么您可以返回并添加或交换密钥对。