小编典典

带有 IntelliJ IDEA 的 git:无法从远程存储库中读取

all

几周以来,我无法从远程存储库中拉取或推送。我认为升级到 IntelliJ IDEA 14 时会发生这种情况,但我也可以使用 IDEA 13.1.5
重现该问题。

工具提示显示“Fetch failed fatal: could not read from remote repository。”

并且版本控制选项卡中的异常显示为

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,它可以正常工作。

根据堆栈跟踪,我的 似乎有问题KnownHosts,所以我从 中删除了我们的 git 服务器~/.ssh/known_hosts,希望
IntelliJ 再次插入它。但是通过UI更新的时候还是会出现这个问题,并且没有写入新的入口known_hosts;考虑到文件的一些缓存,我重新启动了
IntelliJ,但没有成功。

从终端执行另一个git fetch操作时,现在有人询问我是否要永久添加服务器。之后,它再次被写入known_hosts,但 IntelliJ
仍然不允许我更新我的项目。

我在网上没有找到任何关于这种行为的信息,所以我猜这不是新 IntelliJ 版本的已知错误。尽管如此,我更新到14.0.2,但问题仍然存在。

IntelliJ 配置为使用内置的 SSH 可执行文件。

有人知道这里可能是什么问题吗?


阅读 83

收藏
2022-05-07

共1个答案

小编典典

IntelliJ 的内置 SSH
客户端似乎对它known_hosts的 .

当我删除文件并让 IntelliJ 创建一个新文件时,只有我的(散列的)GitLab 服务器,没有其他东西,它起作用了。

也不能混合使用 - 将一些未散列的条目与 IntelliJ 的散列条目保留在一起。因此,您必须将其他 SSH
客户端配置为使用散列主机

2022-05-07