EGitおよびGitHubでの「Auth Failed」エラー


98

Eclipse HeliosにEGitプラグインをインストールし、それをGitHubアカウントで使用しようとしていますが、構成しようとすると「Auth Failed」エラーが発生します。

私はそれをググってみましたが運はありませんでした...パスフレーズに問題があるようですが、AFAIK EGitは正しい場所(/home/user/.ssh/id_rsa)を探しており、コンソールクライアントsshまたはgitコンソールクライアントによる接続に問題はありません。

一部のブログでは、これはURIとEgitのパーサーに問題があると述べていますが、まだ解決策を見つけていません。


回答:


140

私の回答は古くなっているかもしれませんが、うまくいけば誰かにとって役立つかもしれません。

  1. Eclipseで、[ ウィンドウ]> [設定]> [一般]> [ネットワーク接続]> [SSH2]に移動します(または、設定ウィンドウのフィルターボックスに「SSH2」と入力します)。

  2. では、「キー管理」タブを押して 、「RSAキーを生成...」ボタンを。オプションで、コメント(通常は電子メールアドレス)とパスフレーズをキーに追加できます。パスフレーズは、GitHubでの認証中に使用されます。

  3. 生成された公開鍵を([RSA鍵を生成...]ボタンのすぐ下のボックスに)コピーし、GitHubアカウントに追加します。
  4. [ Save Private Key ... ]ボタンを押して、プライベートRSAキーをファイルに保存します。デフォルトでは、キーはSSH2ホームディレクトリに保存されます(「一般」タブを参照)。

それでおしまい!これで、コードをGitHubリポジトリにプッシュできるようになります。


1
私の秘密鍵には標準名(id_rsa)がなかったため、そのように認識されませんでした。私はそれを手動で追加しました。あなたがポイントした設定ウィンドウで、それはうまくいきました。
muriloq

18
説明どおりにSSHキーを設定した後、認証ボックスでユーザー名/パスワードを変更するべきではないことに気付きました(GitHub認証情報を入力していました)。このボックスのデフォルトはusername:gitで、パスワードは空白です。
harschware

1
これはBitBucketのgitリポジトリで機能しましたが、Eclipseを再起動する必要がありました。
artlung 2013

8
ユーザー名をgitのままにして、パスワードを空白のままにしておくと、ようやくうまくいきました。
Mike R

4
生成されたRSAキーをgithubアカウントに追加するプロセスは次のとおりです。1)githubアカウントにログインします。2)goto設定3)左側にSSHキーが表示されます。クリックして4)次に、[SSHキーを追加]をクリックします(SSHキーを貼り付けます)生成したもの)
rajeev 2014

27

私はまったく同じ問題を抱えていましたが、Eclipseバグレポートから解決策を見つけました!

GIT_SSHという名前の環境変数には、ssh実行可能ファイルへのパスを設定する必要があります[1]。

たとえば、Ubuntu Linux(10.10 64ビット)の場合:

> export GIT_SSH=/usr/bin/ssh
> eclipse

その後、GitHubリポジトリーにプッシュします。私はこれをEclipse GalileoとIndigoでテストしました。

問題は本当に迷惑であり、解決策は素晴らしいとはほど遠い。現時点では、少なくともUbuntuユーザーに対してソリューションを永続的にするには、env変数を永続的にする必要があります。〜/ .profileまたは〜/ .bashrc [2]にexportコマンドを追加することで実行できます。例えば:

> cd ~
> echo "export GIT_SSH=/usr/bin/ssh" >> .profile

そして、Eclipseを再起動して有効にします。

出典:


私は一週間この問題を抱えていました-GitHubまたはAsssemblaに接続するosxの下のEclipse。あなたの修正は私のために働きます。ありがとう。
ianmayo 2011年

Windowsでは、opensshが機能しませんでした。plinkを使用する必要がありました。私の答えを見てください。
Piotr Dobrogost 2012年

そして、それはリリースされた修正に近づいています。バグレポートの最後に、最新のjsch jarファイルを手動でダウンロードして手動でインストールし、その方法で動作させる方法を誰かが示しました。このenv varソリューションを使用して、そのjsch jarファイルが実際のEclipseリリースに入るのを待つだけです。
crowmagnumb 2012

私の問題を解決しました。ありがとう。
Pedram 2012

ああ、神様。このような問題があると、なぜAndroidがEclipseを最初に使用したのか不思議に思います。ヒントをありがとうございました。これで私の問題は解決し、EGit / Eclipseは「Auth Fail」でまったく役に立た
なかった

16

httpプロトコルとして選択し、GitHubのユーザー名とパスワードを入力して解決しました。


はい!私が読んだ他のすべてに反して、それはうまくいった。(Eclipse Indigo)
オーウェンB

httpまたはhttpsはsshよりもはるかに単純です
Junchen Liu

はい。ただし、sshを使用する必要がある場合があります。リポジトリの操作中にBitBucketで2要素認証が必要になるなど。2要素認証が必要な場合のみ、sshを介して作業できます。
Akshay Mahajan

10

この問題の解決策を探すために何時間も費やした後、私はようやくEclipseフォーラムで言及された変更を加えることによって金を打ちました。

手順:

前提条件:mysysgitはデフォルト構成でインストールされます。

1.C:/Users/Username/.ssh/configファイルを作成し(「Username」をWindows 7のユーザー名に置き換えます(例:C:/Users/John/.ssh/config))、これを次のように配置します。

Host github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

2.Eclipseでリモートリポジトリを設定してみます。

乾杯。それは完全に動作するはずです。


8

msysgitをインストールする必要があります。インストール後、Git Bashを開いて次のコマンドを入力する必要があります。

$ git config --global user.name "Gennadiy Zlobin" (your name)
$ git config --global user.email gennad.zlobin@gmail.com (your email)
$ ssh-keygen -C "gennad.zlobin@gmail.com" -t rsa (your email)

これで、生成されたキーはC:\Users\username\.ssh(Windows 7では)にあります。
次に、公開鍵のコンテンツをGithubのプロジェクトにロードし、
Eclipseで開いてSSHホームとしてWindow->Preferences->General->Network->SSH2設定します~/.ssh

その後、既存のキーに移動しKey Management tabロードします-ここに秘密キーを設定します~/.ssh

その後、プロジェクトをGithubにプッシュできます(ただし、私はgit + sshではなくsshプロトコルを設定しています)。



5

sshにキーを追加することで同じ問題を解決しました。

ssh-add ~/.ssh/id_rsa 

次にパスフレーズを入力し、再起動する必要があります。


4

SSHを使用している* nixユーザーの場合:

ローカルマシン上のアカウントのユーザー名が、サーバー上のアカウントのユーザー名と同じであることを確認してください。どうやら、eGitはこれを処理できないようです。たとえば、ローカルマシンのユーザー名が「john」で、サーバーで使用しているアカウントの名前が「git」である場合、egitは接続に失敗します(とにかく)。私が見つけた唯一の回避策は、ローカルマシンとサーバーの両方に同じユーザー名があることを確認することです。


1
これはまだ事実ですか?私は今晩壁に頭をぶつけてきました。私の秘密鍵は、Eclipse / eGitが要求しないパスフレーズで保護されています。リモートにプッシュしようとすると、Eclipseは「org.eclipse.jgit.transport.CredentialItem $ StringType Passphrase for .ssh id_rsa」というエラーを出力します
Vilsepi


2

私の四つ目:私のSSHキーはCygwinのC:\ cygwin \ home \ <user> .sshで設定されたので、デフォルトの(Win7)C:\ Users \ <user> \ sshではなく、このフォルダーをSSHでポイントしました。 、これらの指示に従って:http : //wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

sshプロトコルを使用しており、正常に動作します。ただし、gitプロトコルを使用しようとすると、「ユーザーはgitプロトコルでサポートされていません」と表示されます。


2

私のようにすでにssh-keysを設定していてもエラーが発生する場合:

プッシュリモートをセットアップしたことを確認します。私は両方だとき、それは私のために働いた缶は、リモートリポジトリレフリーを取得できません問題(「...のパスフレーズ」と「プッシュ...」ダイアログの「認証失敗」のうまくいきました。

あなたがすでに:

  1. GithubでSSHキーを設定します([ウィンドウ]> [設定]> [一般]> [ネットワーク接続]> [SSH2])

  2. ローカルリポジトリを設定します(このガイドに従ってください)。

  3. Githubリポジトリを作成(同じガイド

...以下にその方法を示します。

  • Gitリポジトリビューに移動します(ウィンドウ>ビューの表示>その他> Gitリポジトリ)
  • リポジトリを展開し、[ リモート]右クリック -> [ リモートの作成]
  • 「リモート名」:origin、「Configure push」:オン-> 「OK」をクリック
  • クリックして「変更...」ボタンを
  • git URI貼り付けて、プロトコルsshを選択します -> [完了]をクリックします
  • ここで、[保存してプッシュ]をクリックすると、パスワードプロンプトが表示されます-> 公開鍵のパスフレーズをここに入力します(DIDを使用している場合(および必要があります)、公開鍵にパスフレーズを設定します)-> [OK]をクリックします。
  • これで、「Pushed to YourRepository -origin」という確認ウィンドウが表示されるはずです-> 「OK」をクリックします
  • アップストリームプッシュしますが、今回は「構成済みリモートリポジトリ」を使用しますを宛先Gitリポジトリとしてます
  • 自分で稼いだコーヒーを手に入れよう!

1

私は毎晩のビルドでプラグインを更新しました:http : //www.eclipse.org/egit/download/

アップデートにより、私にとってはうまくいきました。(Eclipse Helios、Mac OS X)


それはまだ私のために動作していません:(私はこれを投稿して以来、2回アップグレードされています
。GNU

1

代わりにgit + sshでsshプロトコルを使用しようとしましたか?公式ドキュメントにgit + sshを使用するように指示されているにもかかわらず、私は同じ問題を抱えており、それで解決しました


1

Windowsでは、GIT_SSHmsys gitに付属するopensshの設定が機能しませんでした(Eclipseはコミット中にハングしました)。TortoisePlinkに設定すると問題が解決しました(元のplinkも機能すると思います)。追加されたボーナスは、Eclipseがページェントに格納されたキーを使用することです。


1

プロトコルとしてhttpsを選択し、githubのユーザー名とパスワードを追加して解決しました


1

リポジトリがあるGITビューでは、次のような構造が表示されます。

  • タグ
  • 参照
  • リモコン
  • 等...

リモートをクリックし、リポジトリのURLを右クリックして、[資格情報の変更]を選択します。



0

私はそれが構成の問題であるように思われる同じ問題を抱えていました。github mac osxアプリがgithub_rsaと呼ばれるssh秘密鍵を作成した

あなたのEclipseで Window > Preferences > Network Connections > SSH2

全般タブにSSH2ホームが表示されます /Users/<you username>/.sshがです。おそらく秘密鍵として定義されたid_dsa、id_rsaが表示されます。

「秘密鍵を追加」をクリックし、github_rsaを選択します /Users/<you username>/.ssh


0

PEMファイルがある場合:Eclipseで[ウィンドウ]> [設定]> [ネットワーク接続]> [SSH2]に移動し、PEMファイルへのパスを「秘密キー」に追加すると、問題が解決します。


0

私もGoogleのコードを修正して、同じエラーが発生したら公開します。これで開始ビデオからが、保存して公開するときにエラーが発生しました。これに関していくつかの質問があるのを見てきました。一部はWindowsユーザーであり、それらは最も幸運です。通常、権限に関する問題はなく、一部はLinuxユーザーです。

私はモバイル開発用のMacを持っていますが、この問題に非常によく対応しています。この問題の原因は「プラットフォームに依存しない」ソリューションであり、Macでは十分に気にせず、証明書や.pemファイルなどが格納されているキーチェーンにアクセスできません。

私が欲しかったのは、通常のユーザーのように、環境設定もコマンドラインも行わず、GUIベースのクリックだけです。

半分はEclipse Gitプラグインで、2番目の部分(Githubにプッシュ)はMac Githubで行われました

素敵で簡単:)

そのネイティブapppを使用してすべてを行うことができます。私がそれを学び始めるとしたら、彼からのプッシュ機能が必要です。

それがマックユーザーを一回助けることを願っています。


0

githubで2段階認証を設定した場合、EclipseがGithubに接続できないことを発見しました。これは、githubで2段階認証を行うにはSMSから番号を入力する必要があるためです(Eclipseはこの情報があります)。

これがシナリオである場合は、githubで2段階認証を無効にすることを検討し、それが役立つかどうかを確認してください。


0

既存のSSHキーについては、それはEclipse Juno 3.8のバグだと思います。

私がしたこと:

1)に移動して既存のキーをロードします: ウィンドウ> [設定]> [検索ssh]> [キー管理]タブ> [既存のキーをロード]>すでに持っている秘密キーを選択

2)[ 秘密キー保存 ]ボタンをクリックして、そのキーを保存します。id_dsa_githubという名前を付けましょう

3)次に、プッシュとプルが機能しているかどうかを確認します。そのはず。

4)一般タブで、秘密キーid_dsa_githubを削除し、[ 秘密キーの追加 ]ボタンクリックして以前の秘密キーを追加します

これで準備完了です。EGitから登録までのすべてのことを行うには、少なくとも1回は時間がかかると思います。


0

同じ問題が発生しました。

これは私の資格情報と認証に関係していると思いました。

その後、私が設定したURIはHTTPバリアントではないことに気付きました。

HTTP構成でGitのSSH URIにプッシュしようとしていました。

URLを確認してください

Git Perspective> Remotes> Origin> Configure Fetch> Change> prtocalがHTTPSであり、URLがhttpsバージョンであることを確認します


0

コンソールを使用してリポジトリをプッシュ/プルできますが、Eclipseではできません。私の場合、EclipseはSSH秘密鍵を読み取ることができないようです。

-----BEGIN OPENSSH PRIVATE KEY-----

そして、私は私の同僚の鍵が以下で始まることに気づきました:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

現在、Eclipseはこの新しい種類のキー(OPENSSH PRIVATE KEY)を受け入れることができないと思います。

私はそれを解決しました:コマンドを使用してsshキーを再生成します:

ssh-keygen -m PEM -t rsa -b 2048

これは古い方法を使用してキーを生成します:ヘッダーから始まります:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

詳細については、以下を参照してください。

https://github.com/duplicati/duplicati/issues/3360

次に、[設定]-> [ネットワーク接続]-> [SSH2]を使用してeclilpseにキーを再度ロードし、[プライベートキーの追加]をクリックします(プライベートキーのリストに名前がすでに表示されている場合でも、プライベートキーを選択します。それをリロードしてください)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.