如何使用SSH将IntelliJ连接到GitHub

时间:2013-12-17 11:07:19

标签: macos git github ssh intellij-idea

我已成功配置我的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

5 个答案:

答案 0 :(得分:14)

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

enter image description here


使用键

(改编自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中

Checkout from Version Control

测试

Test

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

答案 1 :(得分:8)

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

  1. 如果已经存在
  2. ,则生成要使用的密钥对
      

    SSH-密钥生成

    1. 根据https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

    2. 将密钥添加到您的github配置文件
    3. 在|下修改IntelliJ中的设置VersionControl> GitHub的

    4.   

      使用ssh'

      勾选'克隆git存储库

      IntelliJ Settings Screenshot for Github

        

      选择“原生”作为“SSH可执行文件”

      enter image description here

答案 2 :(得分:3)

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

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

答案 3 :(得分:3)

Steve Byrne对此程序的更改是正确的。 由于我没有足够的声誉来评论,我想补充一点,我只能在提示克隆回购时输入SSH URL时才能与Github一起工作。您可以通过单击"克隆或下载"来获取您的repo的SSH URL。然后"使用SSH"在Github上,像这样:

enter image description here

答案 4 :(得分:2)

  • 打开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个人资料,然后选择设置 - > SSH和GPG密钥。选择新SSH密钥,输入标题后,使用以下命令复制密钥:

    剪辑<把〜/ .ssh / id_rsa.pub

  • 最后转到IntelijIDEA的Git设置,为 SSH可执行文件选择内置

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