2

リモート マシンで (ssh 経由で) git を使用しようとすると、ディスプレイに接続できないというエラーが表示されます。このssh接続は異なるマシンからのスクリーン環境で使用しているため、X11フォワーディングが使えません。ただし、パスワードを入力するためのグラフィカル インターフェイスは必要ありません。

指示:

$ git プル

localhost ポート 6010 に接続: 接続が拒否されました

(gnome-ssh-askpass:7316): Gtk-WARNING **: ディスプレイを開けません: localhost:36.0

バージョン:

$ git --バージョン

git バージョン 1.7.1

ここでグラフィカル接続の必要性を回避するにはどうすればよいですか?

4

1 に答える 1

1

マニュアルページを読んでgitcredentials(7)ください (実行git help credentialsしてローカルで読むことができます)。

資格情報を取得する際の問題を Git がどのように管理するかについて説明します。

つまり、GIT_ASKPASS環境変数の使用法に関心があるかもしれません。

または、リモート セッションで実行されている Git が同じ ID を使用できるように、SSH クライアントがローカル エージェント (キーを保持するもの) に接続を転送できるようにすることもできます。もちろん、これは該当する場合にのみ使用してください (つまり、ID が同じである場合)。この場合、SSH はエージェントによってサービスが提供されるため、パスワードを要求しようとさえしないと思われます。マニュアルページを読んで、設定オプションssh_config(5)を探してください。ForwardAgent

繰り返しますが、問題の根本は、SSH が資格情報を要求する必要があることにあるようであり、そうでないことを確認する必要があります。したがって、おそらく解決策はssh-agent、リモート セッションで実行し、ssh-addGit を実行する前に必要な ID をリモート セッションに追加するか、SSH の資格情報の取得に関連する環境変数と Git 構成設定が意味のある値であることを確認するのと同じくらい簡単です。

于 2015-04-29T14:34:32.947 に答える