Tortoisegitがパスワードを尋ねる


84

Gitの作業を始めたばかりです。私はWindows7を使用しており、msysgit(1.7.8)とTortoisegit(1.7.6)をインストールしています。リポジトリは、LAN経由でアクセス可能なLinuxサーバー上に作成されます。私が直面している問題は、Tortoisegitを使用してリポジトリのクローンを作成できないことです。パスワードを要求され、どのパスワードを要求しているかわかりません。同時に、Git Guiを使用してリポジトリのクローンを作成し、すべての操作を実行できました。誰かがGitGuiがパスワードを要求しないのにTortoisegitがパスワードを要求する理由を理解するのを手伝ってくれませんか。GitとTortoisegitをアンインストールしてから再インストールしようとしましたが、成功しませんでした。

Tortoisegitエラー


あなたのgitサーバーはpubkey認証を使用していますか?
フェリックスヤン

リポジトリの同じクローンで、TortoiseGitは何をしていて、Git GUIは何をしていますか?
manojlds 2012年

2
Tortoise Gitを右クリックしたら、[設定]をクリックします。Gitには、リンク->リモートがあります。クリックしてください。リモートリストから[原点]をクリックします。右側にURLが表示されます。URLライトのユーザー名の代わりに、username:<yourpassword>。最後に、Tortoise Gitからgit操作を行うと、パスワードについて尋ねられることはありません。
kamaci 2013年

1
SSHの代わりにhttpURIを使用していますか?それは私の問題だった
CADはやつ

私たち(私を含む)の「特別なもの」については、コマンドの前にある「git clone」ビットを削除してから、Tortoise Git CloneウィンドウのURLウィンドウに貼り付けることを
忘れ

回答:


131

私の同僚は問題を解決しました。手順:

  1. 右クリック-> TortoiseGit->設定->ネットワーク
  2. SSHクライアントが指していました C:\Program Files\TortoiseGit\bin\TortoisePlink.exe
  3. パスをに変更 C:\Program Files (x86)\Git\bin\ssh.exe

代替パス: C:\Users\...\AppData\Local\Programs\Git\usr\bin\ssh.exe


亀のバージョン1.8.3で動作します...この問題で私は夢中になりました!! WindowsXP @ 32ビットのtortoisegitはc:\ programmi \ git \ bin \ ssh.exeでのみ動作しますWindows7 @ 64ではtoirtoiseplink.exe(デフォルト)で動作します
Evilripper 2013年

私のWindows8マシンでは、SSHクライアントをmsysGit ssh.exeファイルにポイントすると、パスワードクエリがまったく表示されない場合に機能しました。別の問題ですが、このソリューションは、TortoiseGitでsshの問題が発生している人にとっては間違いなく試す価値があります
Icermann 2013

1
私にとってこれは役に立ちませんでした(少なくともGitHubに接続するときは、他のリポジトリを試しませんでした)。
スマ

2
おかげで、完璧に動作しました。私ssh.exeは私のユーザーディレクトリにありますがC:\Users\...\AppData\Local\Programs\Git\usr\bin
ppasler 2016年

7
@ppaslerが述べたように、ssh.exeは、インストールに応じて、C:\ Program Files(x86)\ Git \ usr \ bin \ ssh.exeまたは彼が言及した場所に配置されます。
Vlad Schnakovszki 2017

33

ユーザー名/パスワードを使用する必要がある場合は、現在の2番目の回答よりもはるかに簡単な解決策があります。

Right-click --> Tortoise Git --> Settings --> Git --> Credential --> Choose "Wincred, all Windows users" --> Hit apply

次回リポジトリのパスワードを入力すると、そのパスワードが自動的に保存されます。


ユーザー名/パスワードではなくSSHキーを必要とするリポジトリを使用している場合(OPの元の問題のように聞こえます、次のことを行う必要があります。

  1. PuTTY genでSSHキーを開きます(Tortoise Gitと一緒にインストールされます)
  2. PuTTY genで、キーをPuTTYキーとして保存します。
  3. リポジトリでは、Right-click --> Tortoise Git --> Settings --> Git --> Remotes。リモコン(通常は「原点」)を見つけて、手順2のPuTTYキーを読み込みます。

私の場合、これはユーザー名を使用している場合にのみ機能します。ユーザーのメールアドレスを入力しても機能しないので、注意してください。
Razze 2015

3
これが最短で明確な答えでした、ありがとう。
Alphas Supremum 2017年

この正確な答えを永遠に探していました!
nielW 2018年

23

キーなしでそれを行うには...

フォルダを右クリックします
tortoiseGit-> settings-> Git-> Remoteを
選択します原点(またはメインリモコンにラベルを付けたもの)を選択します

URLの下でこの形式を使用します。

Https:// USERNAME:PASSWORD @ URL

USERNAMEがユーザー名の場合
:コロンはユーザー名とパスワードを区切り、そこに存在する必要があり
ますPASSWORDはパスワードです
@資格情報をURLで区切ります
URLは.gitリソースへの接続に使用するURLです

ありがとうございますKamaci


3
このソリューションはキーでも機能します。Https:// USERNAME @ URLのクローンを作成すれば、問題ありません。
オラクル2014年

2
はい、ただし、これを行わないでください。マージを行うと、TortoiseGitはURL全体をコミットメッセージに入れる傾向があるためです。
mwardm 2015

これは完璧なソリューションです。しかし、パスワードはプレーンテキストであるため、非表示にする方法はありますか。
アミットクマール

1
パスワードに@記号が含まれている場合はどうなりますか?
Hammad Dar

mingw64を使用していて、次のログが表示されるため、この回答を使用しました。コマンドラインをスキップします '"C:\ Program Files \ Git \ mingw64 \ bin \ .. \ usr \ bin \ bash.exe"'( 'C: \ Program Files \ Git \ mingw64 \ bin \ .. \ usr \ bin \ bash.exe 'が見つかりません)有効なコマンドラインが必要です。それに応じて文字列リソースを編集します(3x)エラー:プロンプトスクリプトの実行に失敗しました(終了コード1)
RW4 2016年

14

TortoiseGitでユーザー名とパスワードを保存する

ログインの詳細をTortoiseGitに保存するのはとても簡単です。プルまたはプッシュを実行するたびにユーザー名とパスワードを入力する必要がなくなります。

  1. 次の内容の_netrcというファイルを作成します。

    マシンgithub.com
    ログインyourlogin
    パスワードyourpassword

  2. ファイルをC:\ Users \(または別の場所。これはたまたま私が置いた場所です)にコピーします。

  3. コマンドプロンプトに移動し、setx home C:\ Users \と入力します

注:Windows 7より前のものを使用している場合、setxコマンドが機能しない可能性があります。代わりにsetを使用し、[マイコンピューター]の[詳細設定]を使用してWindowsにホーム環境変数を追加します。

クレジット先:http//www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/


1
それはうまく機能しますが、プレーンパスワードを暗号化する方法はありますか?githubパスワードをプレーンテキストファイルに保存することに不快感を覚えました。
Dio Phung 2014年

@DioPhungあなたが今言ったことについて考えてください。パスワードが暗号化されている場合は、パスワードを使用するための(新しい)パスワードを覚えておく必要があります。パスワードを覚えておく必要がない場合は、パスワードを持っていないのと同じくらい良いです(ローカルの脅威の観点から)。利便性または安全性のいずれかが必要です。
カミロマーティン

1
@DioPhungローカル管理者が怖い場合は、キーロガーを簡単にインストールできます。ローカル管理者はあなたのデータを使って好きなことをすることができます。そのため、ローカル管理者に対するセキュリティは隠すことによるセキュリティになります(銀行が使用するツールやトリックでさえ、知識が豊富で断固としたローカル管理者からあなたを保護することはできません。頑張ってください)。ハッシュに関してはどういう意味ですか?ハッシュは元に戻せません。また、パスワード自体を使用して暗号化する場合でも、毎回入力する必要があります...つまり、そもそも暗号化しないのと同じです。
カミロマーティン

1
@CamiloMartin暗号化にはパスワードは必要ありません。パスワードよりも便利なシステムで認証する方法はたくさんあります。セキュリティはすべてまたはまったくではありません。
アダム2015

1
このソリューションは可能ではあるが、Windowsのパスワードを保存するには良いアイデアですPasswordVault。この機能は、API git-credential-storeを実装することにより、2013年3月からTortoiseGitで利用可能になっています。おそらくそれも簡単From within repo → Context-click → TortoiseGit → Settings → Git → Credential → wincred → OKです。これで完了です。興味のある人のために、この質問に対する完全な回答を書きました。
アダム2015

5

これを行う1つの方法は

  • PuttyGenを使用してキーペアを生成します(または、すでにキーを持っている場合は.ppkにインポートします)
  • 秘密鍵をpeagentにロードします
  • 公開鍵をgitosisサーバーにインポートします(公開鍵を管理者に提供します)
  • 次に、SSHクライアントとしてplinkを使用します

plinkは、peagentとネイティブに連携して、ロードされたキーを取得します。

plink.exeは、標準のパテ配布でpeagentやその他のグッズと一緒に見つけることができます

使用するには、次のURLにアクセスしてください。

TortoiseGit設定->ネットワーク-> SSHクライアント。

デフォルトでは、これにはplink.exeへのパスを与える代わりに、TortoisePlink.exeへのパスが含まれています

または、msys(git)ディストリビューションでssh(.exe)を使用することもできますが、.ppk形式とPeagentの組み合わせで秘密鍵を使用することはできません。PuttyGenを介してキーをOpenSSH形式にエクスポートするか、代わりにssh-keygenを使用してキーペアを作成する必要があります。


「TortoisePlinkの代わりにSSHクライアントがplinkを指す」とはどういう意味ですか?このSSHプログラムはどこにある可能性がありますか?
ミカエラメイヤー

句読点が抜けてすみません、それが混乱の原因だと思います。私は答えを更新しました
mzzzzb 2014

設定を変更する必要はありません。SSH経由でリポジトリのクローンを作成するときに、Puttyの秘密鍵を入力するだけで完了です。httpsではなくクローンウィンドウにSSHエンドポイントを入力することを忘れないでください。
moonStom 2015年

4

いずれかの使用の認証を自動化するには:

  1. 他の人がすでに指摘しているSSHキー、または
  2. 組み込みの資格情報ヘルパー。

明らかに、リポジトリが重要でない限り、パスワードをテキストファイルに保存しないでください。

TortoiseGit> 1.8.1は、既存のローカルWindows資格情報ストアにログイン情報にアクセスして保存するためのローカルAPIを提供するヘルパーgit-credential-winstoreをインストールします。

保存されている資格情報を確認するには、[コントロールパネル]→[ユーザーアカウント]→[資格情報マネージャー]に移動し、[Windows資格情報]を選択します。「git:」で始まるエントリは、git-credential-winstoreからのものです。

次の方法で、リポジトリごとにwincredを設定できます。

(GUI)

  1. ファイルエクスプローラーでリポジトリに移動します。
  2. コンテキストクリック→TortoiseGit→設定→Git→資格情報
  3. 資格情報ヘルパー:wincred-このリポジトリのみ
  4. 次回リポジトリで認証するときに、資格情報が保存されます。

(CLI、POSH)

  1. cmdkey /add:git:https://USERNAME@github.com /user:USERNAME /pass:PASSWORD
  2.  

    @"
    [credential]
            helper = wincred
    "@ | Out-File -FilePath $repoRoot\.git\config -Append
    

リポジトリ用に保存されているすべての資格情報を一覧表示できます。保存するとcmdkey /list:git:*
、パスワードはcmdkey(http://ss64.com/nt/cmdkey.html)によって表示されません。

すべての資格情報とパスワードを一覧表示するには、WindowsAPIを使用する必要があります。PowerShellには、CredManがあります

. .\CredMan.ps1
.\CredMan.ps1 -ShoCred

4

私も同じ問題を抱えていました。私の環境は、TortoiseGit2.3.0.0とgitバージョン2.11.0.windows.1を搭載したWindows10です。

以下は私の問題を解決しました:

  • 右クリック-> TortoiseGit->設定->ネットワーク
  • SSHクライアントをC:\ Program Files \ Git \ usr \ bin \ ssh.exeに更新します

ここに画像の説明を入力してください


3

URLとウィンドウタイトルTortoisePlinkはどちらも、tortoiseがトランスポートプロトコルとしてsshを使用しようとしていることを示しています。gitは、ファイルシステムアクセスやsshアクセスなど、複数のトランスポートプロトコルをサポートしています。あなたの質問では、ファイルシステムアクセスによってリモートリポジトリにアクセスしたいと説明しています。その場合、リモートURLは次のようになりfile://server/path/to/repoます。リモートリポジトリのURLをもう一度確認してください。


3

これを修正するために私がしたこと(Windows):

  1. PuttyGenを開き、sshキーをインポートしてパテキーに変換し、パブリック部分とプライベート部分の両方を.sshフォルダー(%userprofile%.ssh)に保存します。
  2. Puttyを開き、[接続]-> [SSH]-> [認証]に移動して、そこに秘密鍵ファイルを設定します。
  3. セッションに戻り、[デフォルト設定]を選択して、[保存]をクリックします。
  4. もう一度クローンを作成してみると、sshキーのパスフレーズの入力を求められます。入力すると、機能するはずです。

2

Pramodtechの回答は、公式のWindowsGitクライアントの現在のバージョンでは機能しなくなりました。現在ではGit\usr\binなく、ssh実行可能ファイルを格納しますGit\bin(2015年8月にリリースされたバージョン2.5以降)。

したがってTortoiseGit > Settings > Network、SSHクライアントパスに移動して、次のように変更します。

C:\Program Files\Git\usr\bin\ssh.exe (またはGitインストールへのパスが何であれ)

ここに画像の説明を入力してください


1

残念ながら、Windows 8を搭載した私のマシンでは、SSHクライアントを再ポイントするソリューションは機能しませんでした。私にとって問題を解決した解決策はここにあります:http//www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/


:ちょうどポストのリンクは、いくつかのコンテキストを追加しないでくださいmeta.stackexchange.com/questions/8231/...
icc97

アンソニー・キーンが上で与えたのと同じ答えです。
rakensi 2013年

1

ここで提供されているソリューションはどれもうまくいかなかったので、オンラインで見つけたソリューションに多くの失望を感じた後、ようやく自分のマシンでこれを修正することができました。

TortoiseGitパテを常に1つの特定のキーを使用するようにいつ、どのように設定したかはわかりません。もちろん、新しいキーのペアで別のサーバーに接続しようとすると、すべての問題が発生しました。

それで、問題を修正する方法と、あなたが実際に私が持っていたのと同じ問題を抱えているかどうかを見分ける方法:

  1. ここplink.exeからあなたのマシンにダウンロードしてください
  2. ダウンロードしたのと同じディレクトリでWindowsコマンドプロンプトを開きます plink.exe
  3. 次のコマンドを実行します。 plink -v <path_to_your_git_clone_repo_link>
  4. 出力を見て、次のような行があるかどうかを確認します Reading private key file "C:\Path\To\Some\privateKey.ppk"
  5. このような行が表示され、使用したいパテキーファイルではない場合は、そのファイルの名前を変更/削除/移動して、plinkが次回ロードできないようにします。
  6. 期待どおり、それはすべての作業を、問題のファイルをする必要があり、名前を変更した後、あなたはポイント3からのコマンドを実行する場合は、そのPLINKが表示されるはず今カントロードそのppkファイルとそれが出力何かのようにする必要があることの後にPageant is running. Requesting keys.、我々は実際にこれを望んでいました

つまり、この「グローバルデフォルトパテキー」を無効にする方法を誰かが知っている場合は、コメントで知らせてください。この回答を情報で更新します。


1

リポジトリのリモートオリジンのURLがこの問題を引き起こす可能性があることに注意してください。完全に機能する古いリポジトリと、パスワードを要求するクローンを作成したばかりの新しいリポジトリがありました。

の情報を比較すると、機能しSettings > Git > Remote > Urlたものには次のものがあることがわかりました。

git@github.com:githubAccount/repoName.git

動作しなかった新しいものにはhttpsアドレスがありました。

以下のスクリーンショットもご覧ください。

ここに画像の説明を入力してください


1

Tortoise GIT DOSコマンドラインは、秘密鍵と公開鍵をC:\ Users \ .sshディレクトリに配置すると、パスワードの要求を停止しました。私はWindows7を使用しています。


1

同じ問題がありました。私の場合、そこに入力できるパスワードはありませんでした。接続はSSHとして構成されましたが、リポジトリ用に定義されたキーがありませんでした。

チェックアウト:TortoiseGITSSH構成。これらの手順はcloudforge向けですが、他のサービスについても同じことを行う必要があります。公開鍵をgitリポジトリプロバイダーに提供するだけです。


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