2012-03-06 37 views
1

我发现了很多有关如何通过msysgit和putty/plink设置git而不是ssh的线程,但是rubymine似乎使用了它自己的git和ssh实现(请参阅下面的错误消息)。通过ssh在Windows上的Rubymine上安装git

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

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

在腻子连接“腻子别名”与在origin使用相同的用户,主机和端口定义,也再次设置SSH密钥(可能没有必要)。使用TortoiseGit推送到origin_putty工作正常,因为它加载腻子ssh密钥并提示输入我的密码。但是,当我试图从rubymine使用origin时,它会提示输入密码mygituser,因为没有定义密钥文件。

我已经尝试以下解决方案

  • 使用puttykeyfile线的origin(无变化)
  • 定义设置GIT_SSH到砰砰,运行盛会并载入键那里(没有变化)
  • 使用origin_putty从RubyMine的(没有解决putty-alias

究其原因,我认为的RubyMine使用它自己的SSH实现是错误消息我得到认证不成功: SSH:认证方法:公钥,键盘交互,密码]最后成功的方法:

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 

回答

2

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

您可以切换到使用本机SSH在设置|版本控制| Git | SSH可执行|原生 但请注意,它不适用于密码,所以如果您的私钥是密码保护的,则必须使用选美或类似软件。