【问题标题】:How do I connect IntelliJ to GitHub using SSH如何使用 SSH 将 IntelliJ 连接到 GitHub
【发布时间】:2014-01-05 02:50:14
【问题描述】:

我已成功将我的 GitHub 客户端配置为使用 SSH,并收到来自 GitHub 的确认电子邮件,表明已添加新的 SSH 密钥。我也想将 IntelliJ 设置为使用 SSH,这样我就不必每次与 GitHub 交互时都输入我的用户名和密码。我也不希望 IntelliJ 为我保存我的密码,因为我不确定它的安全性。

到目前为止,我最接近的是我需要编辑我的 ~/.ssh/config 文件以告诉 IntelliJ 有一个可以使用的 SSH 密钥。不幸的是,我还没有找到一个有效的例子。

这是我对 ~/.ssh/config 条目的最新尝试:

Host IntelliJ
  HostName github.com
  User git
  IdentityFile "/Users/peter/.ssh/github_rsa"
  TCPKeepAlive yes
  IdentitiesOnly yes

我尝试在添加该条目后重新启动 IntelliJ,但无济于事。 我在 Mac OSX 10.8.5 上运行 IntelliJ Ultimate 12.1.6

【问题讨论】:

标签: macos git github ssh intellij-idea


【解决方案1】:
  • 打开 Git Bash 并使用您的 GitHub 电子邮件地址创建一个新的 ssh 密钥,如下所示:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  • 然后它会询问您保存密钥的文件路径。您只需按 Enter 即可接受默认值。

  • 然后您将被要求输入密码。 确保记住它,因为在您想将项目的更改推送到 GitHub 时可能需要它。
  • 确保您的 ssh 代理正在运行。为此,您可以输入以下命令

    eval $(ssh-agent -s)

  • 现在将您的 SSH 私钥添加到 ssh-agent,如下所示:

    ssh-add ~/.ssh/id_rsa

  • 现在转到您的 GitHub 个人资料并选择 setting->SSH 和 GPG 密钥。选择 New SSH Key 并在输入标题后,使用以下命令复制您的密钥:

    剪辑~/.ssh/id_rsa.pub

  • 最后进入IntelijIDEA的Git设置,为SSH executable选择Built-in。

  • 您可以通过将项目推送到 GitHub 来尝试查看是否一切正常。创建 ssh 密钥时,系统会要求您输入密码。

【讨论】:

    【解决方案2】:

    使用 IntelliJ 2016.3.3,按照以下步骤,这似乎非常简单:

    1. 生成要使用的密钥对(如果不存在)

    ssh-keygen

    1. 按照https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ 将密钥添加到您的 github 配置文件中

    2. 修改 IntelliJ 中 | 下的设置版本控制 > GitHub

    勾选“使用 ssh 克隆 git 存储库”

    选择“本机”作为“SSH 可执行文件”

    【讨论】:

      【解决方案3】:

      Steve Byrne 对此程序的更改是正确的。 由于我没有足够的声誉来发表评论,我想在他的回答中补充一点,我只能在克隆 repo 的提示中输入 SSH URL 时才能使用 Github。您可以通过在 Github 上单击“克隆或下载”然后单击“使用 SSH”来获取您的 repo 的 SSH URL,如下所示:

      【讨论】:

        【解决方案4】:

        kukido 上面的答案现在似乎已经过时了; IntelliJ UI 不再提供对 github URL 的相同级别的访问。而且,默认的“内置”(IntelliJ)ssh 可执行文件似乎不尊重 .ssh/config 文件设置。我现在发现的工作是从使用内置 ssh 可执行文件切换到“本机”ssh 可执行文件。这是通过访问Settings... | Version Control | Git然后在SSH executable下拉菜单中选择Native来完成的。

        这适用于 IntelliJ 版本 2016.2,我很确定早期版本,例如 2016.1 和 2015 系列。

        【讨论】:

          【解决方案5】:

          IntelliJ 的 GitHub 插件可让您保存密码,因此您不必每次都输入。


          带钥匙

          (改编自Multiple SSH Keys settings for different github account,感谢CrazyCoder评论):

          • 创建 ssh 密钥对

            $ ssh-keygen -t rsa -C "activehacker@youremail.com"
            
          • 添加键

            $ ~/.ssh/id_rsa_activehacker
            
          • 确认密钥已添加

            $ ssh-add -l
            
          • 修改~/.ssh/config

            Host github.com-activehacker  
            HostName github.com  
            User git  
            IdentityFile ~/.ssh/id_rsa_activehacker
            


          在 IntelliJ 中

          VCS > 从版本控制中签出 > Git

          测试

          如您所见,您仍然需要在每次 IntelliJ 重新启动后输入密钥对的密码(我相信密码保存在内存中)或让 IntelliJ 永久存储它。

          【讨论】:

          • 谢谢,但这不是我想要的。我已经澄清了关于这一点的问题。
          • @user55547 使用 ssh 密钥解决方案更新了答案。
          • 对于不熟悉 .ssh 配置的人的注意事项:它是一个特殊文件,可让您将 SSH 身份与特定域相关联。此解决方案需要在主机字段中使用 SSH 地址创建配置。 SSH 配置教程here,只需更改主机以匹配您的 Git 存储库的域。
          猜你喜欢
          • 1970-01-01
          • 2015-11-05
          • 1970-01-01
          • 2022-10-14
          • 2020-05-06
          • 2015-10-21
          • 2022-09-30
          • 1970-01-01
          相关资源
          最近更新 更多