2012-03-16 6 views
7

私のプロジェクトでgitを使用しています。リモートリポジトリにプッシュしようとするたびに、gitはXウィンドウを使ってパスワードを要求します。そのため、コンピュータにssh接続してプッシュしようとすると、Xウィンドウを画面に表示させる必要があります。端末にパスワードを入力するようにしています。

端末自体にパスワードの入力を促すことはできますか?

+0

私はgitバージョンのgitバージョン1.7.1を使用しています –

+0

パスワードを要求しているのはsshだと思っています – Shahbaz

+0

おそらく、プライベートレポです。私の公開鍵のパスワードを要求しています。そのレポにプッシュする。そのサーバでX転送が阻止されているので、プッシュできませんでした。 –

答えて

2

これはgitの動作ではありません。あなたはSSHを介してレポに向かっています.SSHはあなたのパスワードを要求しています。 ssh manページは言う:sshが設定されていることが、DISPLAYとSSH_ASKPASSに対応する端末を持っていない場合、それはSSH_ASKPASSで指定されたプログラムを実行し、パスフレーズを読むためのX11ウィンドウを開きます

。あなたは、リモートホストへのSSHとき

は通常、sshはまさにこの種の問題を防ぐためにDISPLAY変数をクリアしますが、それはあなたがデフォルトの設定ができますより多くの環境変数を伝播するようにSSHを設定していることが可能です。その場合、sshがでないことを確認してください。 DISPLAY変数をリモートホストにコピーしてください(X11転送が必要な場合、sshは独自の新しいDISPLAY変数を作成しますが、オリジナルのものは必要ありません)。これにより、ssh-askpassがgitを実行しているサーバーで起動されないようにする必要があります。

5

@Screwtapeは、少なくとも部分的にはhis answerになります。 this pageを見ると、同じ問題(大きな問題の中で)が示されますが、このエラーを回避する方法も示しています。

あなたはgitのコマンドを実行したいコンピュータにSSH'ingされている一方で、試してみてください。

$ unset SSH_ASKPASS 

これは$ SSH_ASKPASS環境変数の設定が解除されます。実行したいgitコマンドを実行すると、うまくいくはずです。それは私のCentOSサーバーにSSHしている私の窓のパテ端末で動作します。この設定されていない変更はNOTです(おそらく良いことです)。次にログインするときにこのパラメータを再設定する必要がありますが、GITスクリプトを実行したい場合は完了します。

2年以上前に報告されているにもかかわらず、なぜこのバグが存在しますか? From this source、それはWindowsがDISPLAY環境変数を決して設定しないと思われるため、GITはこのチェックを行うと正しく動作しません。したがって、機能は除外されています(明らかに)、@Screwtapeによって残された見積もりは正しくコピーされますが、現実には適用されません。

関連する問題