我已成功配置我的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
答案 0 :(得分:14)
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
VCS>从版本控制结帐> GIT中
测试
正如您所看到的,您仍然需要在每次IntelliJ重新启动后输入密钥对的密码(我相信密码保存在内存中)或让IntelliJ永久存储它。
答案 1 :(得分:8)
使用IntelliJ 2016.3.3,按照以下步骤,这似乎非常简单:
SSH-密钥生成
根据https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
在|下修改IntelliJ中的设置VersionControl> GitHub的
使用ssh'
勾选'克隆git存储库
选择“原生”作为“SSH可执行文件”
答案 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上,像这样:
答案 4 :(得分:2)
打开Git Bash并使用您的GitHub电子邮件地址创建一个新的ssh密钥:
ssh-keygen -t rsa -b 4096 -C" your_email@example.com"
然后它会询问您保存密钥的文件路径。您只需按Enter键即可接受默认值。
确保您的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密钥时输入的密码。