6

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

为了访问 git repo,我需要在每台计算机上生成唯一的 SSH 密钥。但是,计算机也可能正在处理其他汇编项目,因此每当我生成新的 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”是什么/在哪里?

任何帮助将不胜感激。谢谢!!

4

1 回答 1

6

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

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

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

myproject1如果您已添加myproject1为遥控器,则可以推送到。
另请参阅“ Unable to Git-push master to Github ”以了解 ssh 故障排除,以及“为 git push 指定 SSH 密钥而不使用~/.ssh/config”以将您的 ssh 地址添加为远程。

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

于 2011-11-17T18:53:01.113 回答