【问题标题】:Non default ssh keypair for git on XCode 4XCode 4 上 git 的非默认 ssh 密钥对
【发布时间】:2011-09-11 17:25:51
【问题描述】:

我想在我正在进行的项目中使用特定的公钥/私钥对。我设法通过将我的密钥对复制到 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub 来使 XCode git repo 工作,但我更愿意将它们命名为 id_github/id_github.pub 或类似的名称(并保留我现有的默认值作为 id_rsa 的密钥对)。这可以通过 git 命令行使用 ssh 配置文件 (http://help.github.com/multiple-ssh-keys/) 轻松实现。

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

有谁知道如何做到这一点,或者在 XCode 中是否有可能?

【问题讨论】:

    标签: xcode git ssh-keys


    【解决方案1】:

    您应该指定网址

    git@github:username/projectname.git
    

    而不是您指定的 ssh。

    希望这会有所帮助。

    【讨论】:

    • 但这只是使用默认密钥对,这是一开始的问题。
    【解决方案2】:

    你需要为 github 创建一个主机配置。

    % man ssh_config
    

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

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

    然后您可以通过 CLI 从 CLI 查看存储库

    % git clone ssh://github:gitusername/projectname.git
    

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

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

    编辑

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

    【讨论】:

    • 这几乎重复了最初的问题。问题是如何在Xcode4中设置这样的配置,你试过吗?
    • 这正是我在 Xcode 中所做的。设置我的 ~/.ssh/config 别名指向我的非标准 IdentityFile,然后在 Xcode 中使用该 ssh 别名。例如。当 Xcode 提示我输入我的 git 存储库地址时,我输入了“ssh://github:gitusername/projectname.git”。我明确列出了这些步骤,以便他们可以验证。我确实注意到的一件事是,有时 Xcode 声称它在第一次单击时无法访问,但通过单击“返回”并再次尝试……它通过了。
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-04-16
      • 2023-03-08
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多