在Windows上使用Rubymine中的ssh设置git

时间:2012-03-06 11:34:57

标签: windows git ssh rubymine

我发现了很多关于如何使用msysgit和putty / plink在ssh上设置git的线程,但是rubymine似乎使用了自己的git和ssh实现(参见下面的错误消息)。

目前我已经安装了putty,msysgit,TortoiseGit和rubymine。我的存储库有两个遥控器:

[remote "origin"]
    url = ssh://mygituser@255.255.255.255:1234/path/to/repo.git
[remote "origin_putty"]
    url = putty-alias:path/to/repo.git
    puttykeyfile = path/to/my/putty/keyfile.ppk

在putty中,连接“putty-alias”是使用origin中使用的相同用户,主机和端口定义的,并且还会再次设置ssh密钥(可能不是必需的)。使用TortoiseGit推送到origin_putty工作正常,因为它加载了putty ssh密钥并提示我的密码短语。但是,当我尝试使用来自rubymine的origin时,它会提示输入mygituser的密码,因为没有定义密钥文件。

我已经尝试过以下解决方案

  • 将GIT_SSH设置为plink,运行选美并在那里加载密钥(无更改)
  • 使用puttykeyfile定义中的origin行(无更改)
  • 使用来自rubymine的origin_putty(无法解析putty-alias

我认为rubymine使用自己的ssh实现的原因是我在不成功的身份验证上得到的错误消息: SSH:身份验证方法:[publickey,keyboard-interactive,password]上次成功的方法:

java.io.IOException: Authentication failed: 
    at org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:280)
    at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:155)
    at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:135)
fatal: The remote end hung up unexpectedly

1 个答案:

答案 0 :(得分:3)

你是对的:默认情况下,RubyMine使用trilead-ssh2 Java库,并且不知道Putty设置。

您可以在“设置”中切换到使用本机SSH版本控制| Git | SSH可执行文件|本地人 但请注意,它与密码短语不兼容,因此如果您的私钥受密码保护,则必须使用选美或类似软件。