web-dev-qa-db-ja.com

パスワードを要求するTortoisegit

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

Tortoisegit error

78
pramodtech

同僚が問題を解決しました。手順:

  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_

123
pramodtech

ユーザー名/パスワードを使用する必要がある場合、現在の#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。リモートを見つける(通常は 'Origin')次に、ステップ2からPuTTYキーをロードします。

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

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

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

Https:// USERNAME:PASSWORD @ URL

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

Kamaciに感謝します

20
Hugh Fuve

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

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

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

    マシンgithub.com
    ログインyourlogin
    password 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/

14
Anthony Keane

これを行う1つの方法は

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

plinkは、ロードされたキーを取得するためにpeagentとネイティブに動作します。

plink.exeは、標準のPuTTYディストリビューションに含まれるpeagentおよびその他のグッズと共に見つけることができます。

それを使用するには:

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

デフォルトでは、plink.exeへのパスを指定する代わりに、TortoisePlink.exeへのパスが含まれます

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

5
mzzzzb

どちらかの認証を自動化するには:

  1. 他の人がすでに指摘しているSSHキー、または
  2. 組み込みのクレデンシャルヘルパー。

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

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

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

リポジトリごとにwincredを設定するには:

(GUI)

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

(CLI、POSH)

  1. cmdkey /add:git:https://[email protected] /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

すべての資格情報とパスワードをリストするには、 Windows API を使用する必要があります。 PowerShellの場合、 CredMan があります。

. .\CredMan.ps1
.\CredMan.ps1 -ShoCred
4
adam

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

3
Dov Grobgeld

同じ問題がありました。私の環境は、TortoiseGit 2.3.0.0およびgitバージョン2.11.0.windows.1を備えたWindows 10です。

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

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

enter image description here

3
silver

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

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

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

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

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

enter image description here

1
DerVO

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

1
Yevgen Safronov

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

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

1
Krzysiek

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

1
SunilJ

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

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

[email protected]:githubAccount/repoName.git

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

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

enter image description here

1

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

特定のキーを常に1つ使用するようにTortoiseGit PuTTYを設定するタイミングや方法はわかりません。もちろん、新しいキーペアを使用して別のサーバーに接続しようとしたときにすべての問題が発生しました。

だから、問題を修正する方法と、あなたが実際に私と同じ問題を抱えているかどうかを知る方法:

  1. here からマシンにplink.exeをダウンロードします
  2. plink.exeをダウンロードしたディレクトリと同じディレクトリでWindowsコマンドプロンプトを開きます
  3. 次のコマンドを実行します:plink -v <path_to_your_git_clone_repo_link>
  4. 出力を見て、Reading private key file "C:\Path\To\Some\privateKey.ppk"のような行があるかどうかを確認します
  5. このような行があり、使用するPuTTYキーファイルではない場合は、そのファイルの名前を変更/削除/移動して、plinkが次回ロードできないようにします
  6. 問題のあるファイルの名前を変更した後、ポイント3からコマンドを実行すると、すべて正常に機能するはずです。plinkがそのppkファイルをロードできず、その後Pageant is running. Requesting keys.のようなものを出力するはずです。

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

1
sbgoran

私は今日同様の問題に直面し、それを修正することができました https://git-scm.com/download/win からgitの最新バージョンをインストールする