XCode 4上git的非默认ssh密钥对

时间:2011-06-09 13:36:19

标签: xcode git ssh-keys

我想在我正在处理的项目中使用特定的公钥/私钥对。我设法通过将我的密钥对复制到〜/ .ssh / id_rsa和〜/ .ssh / id_rsa.pub来获得XCode git repo,但我更喜欢将它们命名为id_github / id_github.pub或类似的东西(并保留我现有的默认值)密钥对为id_rsa)。使用ssh配置文件(http://help.github.com/multiple-ssh-keys/)git命令行很容易实现这一点。

但是我无法看到如何使用XCode 4.我启动它,单击“连接到存储库”,如果我指定ssh:// github:projectname(其中github是包含我的用户名的ssh配置条目)它告诉我“主机无法访问”。

有人知道如何做到这一点,或者在XCode中是否完全可以使用?

3 个答案:

答案 0 :(得分:2)

您需要为github创建主机配置。

% man ssh_config

在〜/ .ssh / config中创建一个条目,它看起来像这样:

Host github
  HostName github.com # or whatever
  User git
  IdentityFile /home/.ssh/id_github

然后,您可以通过

从CLI检出存储库
% git clone ssh://github:gitusername/projectname.git

或者在Xcode中使用相同的URL签名。

另一方面,您还可以使用端口主机配置声明非标准端口。这允许您在非标准端口上使用scp over ssh。

修改

我注意到的一件事是,有时Xcode声称它在第一次点击时无法访问,但是点击“返回”并再次尝试......它会通过。在我设置的最新回购中注意到这一点。

答案 1 :(得分:0)

您应该使用

指定网址
git@github:username/projectname.git

而不是您指定的ssh。

希望这有帮助。

答案 2 :(得分:0)

最合理的解决方法是将多个密钥上传到github。我没有意识到在我提出问题的时候这是可能的,但它解决了我的问题。

当然,只使用git命令行总是最佳的:)