web-dev-qa-db-ja.com

intelliJ IDEAでgit:リモートリポジトリから読み込めませんでした

数週間経っても、リモートリポジトリからプルまたはプッシュすることはできません。 IntelliJ IDEA 14にアップグレードすると発生すると思いましたが、IDEA 13.1.5でも問題を再現できます。

ツールチップには、「Fetch failed 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から私達のgitサーバーを削除しました、IntelliJがそれを再び挿入することを望みます。しかし、UIを介して更新しても問題は依然として発生し、known_hostsに新しいエントリは書き込まれません。ファイルのキャッシュを考えて、IntelliJを再起動しましたが、成功しませんでした。

端末から別のgit fetchを実行するときに、サーバーを恒久的に追加するかどうかを尋ねられるようになりました。その後、それは再びknown_hostsに書き込まれましたが、IntelliJはまだ私が私のプロジェクトを更新させないでしょう。

オンラインでこの動作について何も見つけていないので、新しいIntelliJバージョンの既知のバグではないと思います。それにもかかわらず、私は14.0.2にアップデートしました、しかし問題はまだあります。

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

誰かがここで問題になる可能性があるものの手がかりを持っていますか?

248
stuXnet

IntelliJの内蔵SSHクライアントは そのknown_hosts をハッシュしているようですが、私が持っていたものは平文でホスト名を持っていました。

私がファイルを削除してIntelliJに新しいものを作成させたとき、私の(ハッシュ化された)GitLabサーバーだけでそれ以外は何もしなかった。

それを混在させることもできません - いくつかのハッシュされていないエントリをIntelliJのハッシュされたエントリと一緒に保管してください。それで、あなたは他のSSHクライアントを設定しなければなりません ハッシュされたホストを使うために

21
stuXnet

Settings --> Version Control --> Gitをクリックし、次にSSH実行可能ファイルドロップダウンでNativeを選択します。

Version Control: Git: SSH executable: For current project

これで解決しない場合は、ネイティブのsshおよびgitクライアントが十分に新しいバージョンであることを確認してください。

703
yabin ya

設定>バージョン管理> Gitに行きます。 SSHの実行可能ファイルが「ネイティブ」に設定されていることを確認します(すでにインストールされている場合は、「組み込み」に切り替えて適用し、もう一度「ネイティブ」に戻します)。

これで問題が解決しない場合は、GitHubクライアント(無料のデスクトップアプリケーション)などのGitクライアントをダウンロードして、そのアプリケーションを介してプロジェクトを同期することをお勧めします。その後IntelliJに戻ってそれが機能するかどうか確認してください。

68
Farbod

github repositoryを使って作業していると、最近Could not read from remote repositoryエラーが出始めました。私のスペック:

  • IntelliJ IDEA 2017.3.4(Ultimate Edition)
  • 「設定」 - >「バージョン管理」 - >「Git」 - >「SSH実行可能ファイル」 - >「組み込み」
  • Fedora Linux

enter image description here

もちろん、これらの問題はIDEからプッシュ/プル/フェッチなどを行おうとしたときにのみ発生しました - コマンドラインから同じコマンドを実行することは魅力のように働きました。

私のために働いた解決策

Built-In SSH実行可能ファイルからNativeへの切り替えはしたくありませんでした。これは主に、私のネイティブSSHクライアントがリモートリポジトリと同期しようとするたびにパスワードを要求するためです。

私はこの問題をSSHリモートURLからHTTPS URLに切り替えることで解決しました。このGitHubのヘルプページによると - SSHの代わりにHTTPS URLを使うことをお勧めします

リモートURLをSSHからHTTPSに変更

IntelliJ IDEAでVCS - > Git - > Remotes ...に移動し、 "Origin"を含む行を選択して編集ボタンをクリックします。 GitHubでリポジトリをホストしている場合は、SSH URLを次のURLから置き換えてください。

[email protected]:USERNAME/REPOSITORY.git

に:

https://github.com/USERNAME/REPOSITORY.git

あなたのGitHubリポジトリのホームページからあなたのHTTPS URLを得ることもできます - あなたのリポジトリのHTTPS URLを表示するために "Clone or download"ボタンをクリックして "Use HTTPS"リンクをクリックしてください:

enter image description here

アップデート2018-03-13

JetBrainsがGitHubへのSSHアクセスの修正を含むIntelliJ IDEA 2017.3.5をリリースしました - https://blog.jetbrains.com/idea/2018/03/intellij-idea-2017-3-5 sshのgithubへのアクセスのための修正プログラム/

49
Szymon Stepniak

pyCharmでは、

file|
    v-->settings|
                v-->Version Control|
                                   v-->Git

ここでSSH executableBuilt-inからNativeに変更します

applycloseを押します

13
  1. [設定] - > [Git] - > [SSH実行可能ファイル]ドロップダウンで[ネイティブ]を選択します。 (選択されていない場合)
  2. GithubリポジトリからHTTPSリンクをコピーします。
  3. VCS - > Git - > Remotesに行きます。
  4. URLフィールドのOriginとPaste HTTPSリンクを編集します。
  5. Ctrl+Shift+kを押してプロジェクトをリポジトリにプッシュします。できます。
11

リモートリポジトリを再追加することでこの問題を解決しました:VCS - > Git - > Remotes。

9
Nikita

@ yabin yaが言ったことはクールな解決策です、あなたにそれを思い出させるだけです:あなたがまだ同じ問題を得るならば、Settings-Version Control-GitHubに行き、Clone git repositories using sshのチェックを外してください。

5
XYz Amos

新しいSSHキーを生成してあなたのssh-agentに追加する必要があります。そのためには、この link に従うべきです。

公開鍵を作成してgithubアカウントに追加したら、Intellij Ideaの[設定] - > [バージョン管理] - > [Git] - > [SSH実行可能ファイル]の下の[組み込み(ネイティブではない)]オプションを使用します。

5
abshar

最近IntelliJ 12からIntelliJ 14 Ultimateにアップデートしましたが、この問題にも遭遇しました。私たちの解決策は、設定でプロキシを無効にすることでした。私達はまたパスワードを一度覚えることを止めたが、それが助けになるかどうかわからないかもしれない。プロキシ設定は、ファイル - 設定 - 外観と動作 - システム設定 - HTTPプロキシの下にあります。

3
Koen de Roo

これは私が現在の問題を修正するのを助けました

MacOS Sierra 10.12.2以降を使用している場合は、〜/ .ssh/configファイルを変更して自動的にキーをssh-agentにロードし、パスフレーズをキーチェーンに格納する必要があります。

Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa

ソース

2
Jenya Kirmiza

PuTTYでsshキーのパスワードを削除することで、この問題を解決しました。

2
Steve Borland

解決策ではありませんが、「問題になる可能性がある」という質問に対する回答である可能性があります。

Gitlabと 'sshライブラリに組み込まれたjetbrains'は一緒にはうまくいきません。ライブラリは、gitlab(デフォルト)がSHA2ベースの鍵交換アルゴリズムのみを許可する、SHA1ベースの鍵交換アルゴリズムを使用したいと考えています。

これは少なくともTeamCity( https://youtrack.jetbrains.com/issue/TW-47704 )で報告されています。

それがIntelliJのプル/プッシュ問題、そして私のPhpStormのプッシュ問題の原因でもあるという事実は、ASSUMPTIONジェットブレーンがすべてのソフトウェアに同じ「組み込みライブラリ」を使っていることに基づいています。

1
ArjanW

Nativeオプションを試しましたが、うまくいきません。最後に古い方法でsshキーを再生成し、-mコマンドにssh-keygenオプションを追加しました。 _ idea _ build-inオプションでうまく動作します。

ssh-keygen -m PEM -t rsa -b 4096 -C "email@..."
0
Alireza Alallah

私は上記のすべての解決策(ネイティブ、VCSリポジトリのURLの変更、Gitの更新、IDEAの更新、キャッシュの無効化)を試しましたが、何も助けになりませんでした。最後に私は私のために働く解決策を見つけました。

解決策:私はアイデアを閉じ、ファイル~\.IntelliJIdea20xx.x\config\options\git.xmlの内容をこれで置き換えました:

<application>
  <component name="Git.Application.Settings">
    <option name="SSH_EXECUTABLE" value="IDEA_SSH" />
  </component>
</application>

それから私はIDEAを始めて、SSH GITリポジトリをチェックアウトしようとします、そして、それはうまくいきます、そして、既存のプロジェクトは同様にうまくいきます。興味深い事実は、[アイデア設定]で[NATIVE]に切り替えると、リポジトリが機能しないことです。

0
user3231514

リモートURLを追加するときは、これから変更します

https://[email protected]/usernameowner/project-name.git

これに

https://bitbucket.org/usernameowner/project-name.git

0
Marlon

Gitパスを変更しましたが、うまくいきました。

enter image description here

0
Smart Coder

私はいくつかのオンラインコースからのフォークでこの問題を抱えていました。私は自分のフォークを複製してパーミッションエラーに遭遇しました。自分が他の会社のユーザーだったと主張していた理由が理解できませんでした。しかし、前回のコメンターが述べたように、私はClone git repositories using ssh設定をチェックしていて、私の新しいアカウントにsshキーを追加するのを忘れていました。だから私はしたが、私はこのエラーを得たのでそれでもプッシュすることができませんでした。私が解決した方法はGithubデスクトップクライアントを使ってプッシュすることでした。

お持ち帰り:

  1. 新しいGitHubアカウントを開くときは、必ずsshキーを追加してください。
  2. アカウントごとに異なるSSHキーを使用する
  3. 一般的に、私はIntelliJのGitHubの問題にすべてのプロジェクトで少なくとも1回か2回遭遇します。 GitHubデスクトップのコピーを持っていることを確認し、そこにあなたのプロジェクトをロードしてください。これはIntellijで遭遇するかもしれない多くの問題を解決することができます - これだけではありません。それは実際には本当に素晴らしいGUIクライアントであり、無料です。
  4. @yabinが提案していることを行い、Mac上でネイティブクライアントを使用するのはおそらく理にかなっています
0
Aron T

私は同じ問題を抱えていました。 bitbucketを使用していて、Intellij上のリポジトリの取得/更新に問題がありました。ネイティブに変更して組み込みに戻ろうとしましたが、うまくいきませんでした。それから私はパスフレーズでSSH鍵を生成したことに気づきました。

パスフレーズなしで鍵を再生成してから、それをビットバケットに追加しました。出来た !

0
NullPointer

何も助けにはならなかった。それから私はコンピューター上のプロジェクトの名前がgitリポジトリ上の名前と違うことを見ました。

それで私はその問題を解決した。

0
Phoelix Sky

答えのどれも私のために働かなかったのでこの答えを追加してください。

証明書が発行されたので、次のコマンドでうまくいきました。

git config --global http.sslVerify false

https://confluence.atlassian.com/fishkb/unable-to-clone-git-repository-due-to-self-signed-certificate-376838977.html から取得します

0
Gaurav

末尾にスペースを入れずに正しいgit SSH URLを指定することで問題を解決しました。

[email protected]:USERNAME/REPOSITORY.git
0
Sugoi Reed

私の場合(SSH実行可能ファイルの切り替えが機能しない)に役立った唯一のことは、gitおよびgit-flowプラグインを非アクティブ化し、intellijを再起動し、それらのプラグインを再度アクティブ化することでした...

0
Patrick Dorn

私はSSH秘密鍵をコマンドのssh-agentに追加することでこれを解決しました。

$ ssh-add -K ~/.ssh/id_rsa

Settings --> Version Control --> Gitを設定してから、SSH実行可能ファイルのドロップダウンリストでNativeを選択します。

MacOS High Sierra(10.13.5)/ IntelliJ IDEA 2018.4でこれは私のために修正されました(私はHTTPSではなく、SSH、そしてネイティブのgitを使っています)。

File -> Invalidate Caches and Restart

0
connexo

問題は私のPCで解決されています。
設定 - >バージョン管理 - > Git を選択し、SSH実行可能ファイルドロップダウンリストで ビルトイン オプションを選択します。

そしてgitの古いバージョンを 2.14.2 のようにインストールしてください。
うまくいっています。

0
Viral Nakrani

それでもうまくいかない場合は、ターミナルに移動してフォルダから入力してください。

git Push Origin master

それが、神々が本来それを望んでいた方法です。

0
Wilmer E. Henao

システム管理者に連絡することを忘れないでください。

私の場合私はすべてのものが正しく設定されていた(SSHも追加された)が、私は同じエラーを受けた

リポジトリアクセスが拒否されました。 fatal:リモートリポジトリから読み込めませんでした。

その理由は、私はそのリポジトリへの読み取りアクセス権しか持っていなかったからです。あなたの貴重な時間を無駄にせずにそれゆえ最初のこととしてそれをチェックしてください。ありがとうございました。

0
Rahal Kanishka

Githubやbitbucketなどのクラウドサービスに接続しようとしている場合は、Ideaプロキシ設定を確認してください。これはインストールするプラグインを探すか、helpメニューでソフトウェアの更新をチェックすることで行えます。インターネット/プロキシ設定が正しくない場合は、有効なエントリを追加するか、autoに設定してください。

0
binithb

私は最近WebStormでこの問題を抱えていて(2018年2月)、そして(当時の)以前の解決策はどれも私にとってはうまくいきませんでした。トラブルシューティングと研究に数時間を費やした後、 私は2018年のEAPバージョンをインストールしました そして今それは動作します!


IntelliJ Idea> VCS/Gitサブシステムの2017年12月で新しい issue が報告されました。これはビルド181.2445(または2018年1月31日以降の最新ビルド)で修正されました。

Update-ssh-key-to-use-new-passphrase も参照してください。

0
Ricardo