git + assembla +多个ssh密钥/多台计算机

时间:2011-11-17 16:54:15

标签: git ssh assembla

我有多台计算机在同一个项目上工作,而我正在使用免费的assembla git repo帐户来管理所有这些。

为了访问git repo,我需要在每台计算机上生成唯一的SSH密钥。 但是,计算机也可能正在处理其他的assembla项目,因此每当我生成一个新的ssh密钥时就会出现冲突(就像我必须继续替换id_rsa文件)。 一旦我在本地机器上重新创建id_rsa文件(并替换它们),它就会使用先前生成的ssh密钥失去对先前的assembla git项目的访问权。

我对整个git业务都很陌生,并且在我去的时候努力学习。

我找到的东西听起来像是我问题的解决方案: “针对不同项目的不同SSH密钥” http://www.assembla.com/spaces/breakoutdocs/wiki/Different_SSH_keys_for_different_projects

但是,我不明白怎么做#1?它说“在$ PATH中放置一个这个脚本(让它的名字为gitssh)”,但我不知道“$ PATH”是什么/在哪里?

非常感谢任何帮助。 谢谢!

1 个答案:

答案 0 :(得分:5)

您可以根据需要创建任意数量的公共/私人ssh密钥 只需不要使用默认名称id_rsaid_rsa.pub

但是,不使用默认命名约定意味着默认情况下,ssh无法找到您的密钥 您需要在~/.ssh目录中定义一个配置文件,您将在其中指明要使用的私钥:

Host myproject1
    HostName server1
    IdentityFile ~/.ssh/project1.rsa
    User username

如果您已将myproject1添加为遥控器,则可以推至myproject1 有关ssh问题排查的信息,请参阅“Unable to Git-push master to Github”,有关将ssh地址添加为遥控器的信息,请参阅“Specify an SSH key for git push without using ~/.ssh/config”。

您可以根据需要在~/.ssh/config文件中添加任意数量的地址,每个地址都可以引用您可以根据需要命名的私钥。