140

管理者権限のないマシンでコマンド ラインを使用してリモートでプロジェクトに取り組んでおり、実行後git push origin masterに次のエラー メッセージが表示されます。

(gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:

私の.git/configファイルには次の内容があります。

    [core]
       repositoryformatversion = 0
       filemode = true
       bare = false
       logallrefupdates = true 
    [remote "origin"]
       fetch = +refs/heads/*:refs/remotes/origin/*
       url = https://username@github.com/username/repository.git 
    [branch "master"]
       remote = origin
       merge = refs/heads/master

以前は 403 エラーが発生していました。ここのコメントに従って、リモート URL の @ 記号の前に自分のユーザー名を入力しました。それ以来、Gtk エラーが発生しています。

を使用してマシンにログインし、ssh -Xプッシュしようとすると、次のエラーが発生します。

X11 connection rejected because of wrong authentication.
(gnome-ssh-askpass:31922): Gtk-WARNING **: cannot open display:localhost:10.0

リモートの URL を に変更するとgit@github.com:username/repository.git、エラーは次のようになります。

ssh: connect to host github.com port 22: Connection timed out
fatal: The remote end hung up unexpectedly

これを修正する方法を知っていますか?

4

4 に答える 4

344

私はついに問題の解決策を発見しました。hereで説明されているように、ターミナルで次のコマンドを実行しました。

  unset SSH_ASKPASS

実行すると、正常にgit push origin master動作します。ファイルに行を追加することもでき.bashrcます。

于 2013-04-19T12:19:52.567 に答える
19

私は最近、Git バージョンが 1.7.4.1 の RedHat 5 マシンでこの動作に対処しました。

意図しない結果にならないという高い自信unset SSH_ASKPASSがなかったので、別の解決策がないかどうかを確認したかったのです。

確かなことは言えませんが、Git のバージョンが公開されたのとほぼ同時期に、この問題に対するパッチが作成されていたようです。そのため、より新しいバージョンで動作が修正されることを期待するのは理にかなっているように思えました。

そして確かにそうでした。Git の 1.8 ブランチにアップグレードすると、問題が解決しました。 奇妙な理由でエラー メッセージが引き続き表示されますが、パスワードの入力を求めるプロンプトが正しく表示され、続行することができます。

于 2014-01-20T19:25:29.967 に答える
0

これらの答えはどれもうまくいきませんでした(Windows 10のCygwinを介してRHEL 6.8サーバーにsshし、RHELボックスからgithub.comリポジトリを複製しようとしました)ので、HTTPSユーザー名/ではなくSSHキーを介して複製しましたパスワード。たとえば、https URL ではなく git@github.com:MyUsername/myproject.git を使用しました。また、公開鍵を適切に Github にアップロードしました。この方法はうまくいきました。

注: 上記の解決策のうち、実際には git の 1.8 ブランチにアップグレードしようとはしませんでした

于 2016-09-13T20:05:11.637 に答える