1. ホーム
  2. ギット

[解決済み】IntelliJ IDEAでgitを使用する。リモートリポジトリから読み取れませんでした

2022-04-01 12:41:07

質問

数週間前から、リモートリポジトリからプルしたり、プッシュしたりすることができません。IntelliJ IDEA 14にアップグレードしたときに起こったと思ったのですが、IDEA 13.1.5でも再現できました。

ツールチップには次のように表示されます。 フェッチに失敗しました。 fatal: リモートリポジトリから読み取れませんでした。

と表示され、[バージョン管理]タブの例外は次のように表示されます。

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 を削除しました。 ~/.ssh/known_hosts IntelliJが再び挿入してくれることを期待しています。しかし、UIを使用して更新すると、問題はまだ表示され、新しいエントリが known_hosts ファイルのキャッシュを考えて、IntelliJを再起動しましたが、うまくいきませんでした。

もう一回やる場合 git fetch ターミナルから、今度はサーバーを永久に追加するかどうか尋ねられるようになりました。その後、書き込まれたのは known_hosts しかし、IntelliJはまだ私のプロジェクトを更新することを許可していません。

この動作についてネットで調べても出てこないので、新しいIntelliJのバージョンで既知のバグではないのでしょう。それでも、私は14.0.2にアップデートしましたが、問題はまだ残っています。

IntelliJはビルトインのSSH実行ファイルを使用するように設定されています。

どなたか、この問題の手がかりをお持ちの方はいらっしゃいますか?

解決方法は?

IntelliJのビルトインSSHクライアントは、どうやら ハッシュ化する known_hosts しかし、私が持っていたものは、そのホスト名が平文で書かれていました。

このファイルを削除して、IntelliJ に新しいファイルを作成させると、私の (ハッシュ化された) GitLab サーバーだけを使って、他のものは何も使わず、動作するようになりました。

また、IntelliJ用のハッシュ化されたエントリーと、ハッシュ化されていないエントリーを混在させることはできません。ですから、他のSSHクライアントを設定する必要があります。 ハッシュ化されたホストを使用するために .