[解決済み】IntelliJ IDEAでgitを使用する。リモートリポジトリから読み取れませんでした
質問
数週間前から、リモートリポジトリからプルしたり、プッシュしたりすることができません。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クライアントを設定する必要があります。 ハッシュ化されたホストを使用するために .
関連
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] ローカルファイルシステムからファイルを削除せずに、Git リポジトリからファイルを削除する
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] Git リポジトリからファイルを削除するにはどうすればよいですか?
-
[解決済み] 履歴のある SVN リポジトリを新しい Git リポジトリに移行するにはどうすればよいですか?
-
[解決済み] Git リポジトリからリモートオリジンを削除する方法
-
[解決済み] 古いリモート git ブランチのクリーンアップ
-
[解決済み】initで作成されたgitリポジトリを完全に削除する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】git revert <hash> not allowed due to a merge but no -m option was given.
-
[解決済み] git pull リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】マージの競合が発生した git stash pop の取り消し
-
[解決済み】GitHub: クローンには成功したが、チェックアウトに失敗した
-
[gitコミット失敗の解決] 現在のブランチの先端が後ろにあるため、更新が拒否されました。
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push s...
-
gitコミット発生 ! [リモート拒否] master -> master (pre-receive hook declined) 解決策
-
[解決済み] 複数のgitコミットを元に戻すには?
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] エラーです。リベースを使用してプルできません。あなたはステージングされていない変更を持っています