几个星期以来,我无法从远程存储库中拉出或推入。我以为升级到IntelliJ IDEA 14时会发生这种情况,但是我也可以使用IDEA 13.1.5重现该问题。
工具提示显示“获取失败致命消息:无法从远程存储库读取”。
并且“版本控制”选项卡中的异常为
14:02:37.737: cd C:\dev\project
14:02:37.737: git -c core.quotepath=false fetch origin --progress --prune
java.io.IOException: Padding in RSA public key!
at com.trilead.ssh2.signature.RSASHA1Verify.decodeSSHRSAPublicKey(RSASHA1Verify.java:37)
at com.trilead.ssh2.KnownHosts.addHostkey(KnownHosts.java:98)
at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.java:414)
at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.java:440)
at com.trilead.ssh2.KnownHosts.addHostkeys(KnownHosts.java:137)
at org.jetbrains.git4idea.ssh.SSHMain.configureKnownHosts(SSHMain.java:462)
at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:155)
at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:137)
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
使用IntelliJ的内置终端执行git -c core.quotepath=false fetch origin --progress --prune
,它可以正常工作。
根据stacktrace,我似乎有问题KnownHosts
,所以我从删除了git服务器~/.ssh/known_hosts
,希望IntelliJ再次插入它。但是,通过UI更新时,问题仍然出现,并且没有写入任何新条目known_hosts
;考虑到文件的某些缓存,我重新启动了IntelliJ,但没有成功。
git fetch
现在,从终端执行其他操作时,系统会询问我是否要永久添加服务器。在那之后,它known_hosts
再次被写入,但是IntelliJ仍然不允许我更新我的项目。
我还没有在网上找到有关此行为的任何信息,所以我猜这不是新IntelliJ版本中的已知错误。但是,我更新到14.0.2,但是问题仍然存在。
IntelliJ配置为使用内置的SSH可执行文件。
有人知道这里可能是什么问题吗?
puttygen
和Git GUI
,因为这也是我的第一个想法。您确定与我的钥匙对有关吗?唯一的例外似乎是对已知主机:code.google.com/p/connectbot/source/browse/src/com/trilead/ssh2/...