2013-12-17 30 views
9

我已成功配置我的GitHub客户端以使用SSH,并从GitHub收到确认电子邮件,其中添加了新的SSH密钥。我想设置IntelliJ以使用SSH,以便每次与GitHub进行交互时都不必输入用户名和密码。我也不希望IntelliJ为我保存我的密码,因为我不确定这将是多么安全。如何使用SSH将IntelliJ连接到GitHub

最近我到目前为止,我需要编辑我的〜/ .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上运行IntelliJ Ultimate 12.1.6 10.8.5

+0

你的'config'看起来不正确,请检查https://gist.github.com/jexchan/2351996。 – CrazyCoder

+0

@CrazyCoder感谢您的链接,用它来更新答案。 – kukido

回答

14

IntelliJ的GitHub插件让你保存密码,所以你不必每次都输入它。

enter image description here


的钥匙

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

  • 创建SSH密钥对

    $ ssh-keygen -t rsa -C "[email protected]" 
    
  • 添加该键添加键

    $ ~/.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将其永久存储nently。

+0

谢谢,但这不是我想要的。我已经澄清了关于这一点的问题。 – user55547

+0

@ user55547用ssh密钥解决方案更新了答案。 – kukido

+1

只需注意那些不熟悉.ssh config的人:这是一个特殊的文件,允许您将SSH身份与特定的域相关联。此解决方案需要在主机字段中使用SSH地址创建配置。 SSH配置教程[这里](http://nerderati.com/2011/03/17/simplify-your-life-with-an-ssh-config-file/),只需更改主机以匹配您的Git repo的域名。 – Indolering

3

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

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

2

Steve Byrne对此过程的更改是正确的。 因为我没有足够的声望发表评论,所以我想补充一下他的回答,我只能在克隆回购的提示中输入SSH URL时才能使用Github进行此项工作。您可以通过点击“复制或下载”让你的回购的SSH URL,然后“使用SSH”在Github上,像这样:

enter image description here

6

使用的IntelliJ 2016年3月3日,这似乎非常简单的通过以下步骤如下:

  1. 生成密钥对的使用,如果没有与

SSH-凯基

已经存在
  • 添加关键看你的个人资料的GitHub按照https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

  • 下的IntelliJ修改设置|版本控制> GitHub的

  • 蜱 '克隆git仓库使用ssh'

    IntelliJ Settings Screenshot for Github

    选择 '天然' 为 'SSH可执行'

    enter image description here

    1
    • 开放的Git Bash和使用您的GitHub的电子邮件地址,这样创建一个新的SSH密钥:

      SSH-凯基-t RSA -b 4096 -C “[email protected]

    • 然后它会询问您保存密钥的文件路径。您可以通过按Enter键来接受默认设置。

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

      的eval $(SSH代理-s)

    • 现在添加您的SSH私钥的SSH代理这样的:

      SSH-添加把〜/ .ssh/id_rsa

    • 现在去你的GitHub的个人资料,并选择设置 - > SSH和GPG键。选择新SSH密钥并输入标题后,使用此命令复制你的钥匙:

      夹<的〜/ .ssh/id_rsa.pub

    • 最后去IntelijIDEA的Git的设置和选择内置 for SSH可执行文件

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