Tortoisegit问密码

时间:2012-01-13 06:54:52

标签: git version-control tortoisegit

我刚刚开始研究Git。我使用Windows 7并安装了msysgit(1.7.8)和Tortoisegit(1.7.6)。 存储库在Linux服务器上创建,可通过LAN访问。我面临的问题是我无法使用Tortoisegit克隆存储库,它要求输入密码,我不确定它要求的密码。 同时我可以使用Git Gui克隆存储库并执行所有操作。 任何人都可以帮助我理解为什么当Git Gui没有时,Tortoisegit会问密码。 我尝试卸载Git和Tortoisegit然后重新安装但没有成功。

Tortoisegit error

16 个答案:

答案 0 :(得分:122)

我的同事解决了这个问题。步骤进行:

  1. 右键单击 - > TortoiseGit - >设置 - >网络
  2. SSH客户端指向C:\Program Files\TortoiseGit\bin\TortoisePlink.exe
  3. 将路径更改为C:\Program Files (x86)\Git\bin\ssh.exe
  4. 替代路径:C:\Users\...\AppData\Local\Programs\Git\usr\bin\ssh.exe

答案 1 :(得分:23)

如果您需要使用用户名/密码,那么解决方案比目前的#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密钥。

答案 2 :(得分:19)

没有钥匙就可以做到......

右键单击您的文件夹
选择tortoiseGit-> settings-> Git-> Remote
选择原点(或标记主遥控器的任何内容)

在网址下使用此格式。

Https://USERNAME:PASSWORD@URL

其中   USERNAME是您的用户名
  :冒号分隔用户名和密码,必须在那里   密码是您的密码
  @将凭据与您的网址分开   URL是您用于连接.git资源的URL
谢谢Kamaci

答案 3 :(得分:13)

使用TortoiseGit保存用户名和密码

在TortoiseGit中保存您的登录详细信息非常简单。每次进行拉动或推动时,都不必输入用户名和密码。

  1. 使用以下内容创建名为_netrc的文件:

    机器github.com
    登录yourlogin
    密码yourpassword

  2. 将文件复制到C:\ Users \(或其他位置;这恰好是我放置的位置)

  3. 转到命令提示符,键入setx home C:\ Users \

  4. 注意:如果您使用的是早于Windows 7的内容,则setx命令可能不适合您。请改用set,并使用“我的电脑”下的“高级设置”将家庭环境变量添加到Windows。

    信贷: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/

答案 4 :(得分:4)

一种方法是

  • 使用PuttyGen生成密钥对,(或者如果你导入到.ppk中) 已经有钥匙了)
  • 将私钥加载到peagent
  • 将公钥导入您的gitosis服务器(向您的管理员提供您的公钥)
  • 然后使用plink作为SSH客户端

plink与peagent本机工作以检索加载的密钥。

您可以在标准腻子分发中找到plink.exe以及peagent和其他好东西

使用它去:

TortoiseGit设置 - >网络 - > SSH客户端。

默认情况下,它包含TortoisePlink.exe的路径,而不是提供plink.exe的路径

或者你可以在msys(git)发行版中使用ssh(.exe),但是你不能使用.ppk格式/ Peagent组合的私钥。您需要通过PuttyGen将密钥导出为OpenSSH格式,或者使用ssh-keygen创建密钥对。

答案 5 :(得分:3)

要自动验证,请使用:

  1. 其他人已经指出的SSH密钥,或
  2. 内置凭证助手。
  3. 显然,除非回购不重要,否则不要将密码存储在文本文件中。

    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. 下次使用repo进行身份验证时,将存储凭据。
    5. (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
        
      3. 您可以使用cmdkey /list:git:*列出为repos存储的所有凭据 存储后,cmdkey(http://ss64.com/nt/cmdkey.html

        不会显示密码

        要列出所有带密码的凭据,您需要使用Windows API。对于powershell,有CredMan

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

答案 6 :(得分:2)

URL和窗口标题TortoisePlink都表明乌龟正在尝试使用ssh作为传输协议。 git支持多种传输协议,包括文件系统访问和ssh访问。在您的问题中,您描述的是您希望通过文件系统访问来访问远程仓库。在这种情况下,您的远程网址应该类似于file://server/path/to/repo。请再次检查您的远程回购网址。

答案 7 :(得分:2)

我有同样的问题。 我的环境是使用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

答案 8 :(得分:2)

我做了什么来解决这个问题(windows):

  1. 打开PuttyGen导入我的ssh密钥并将其转换为putty密钥,将公共和私有部分保存在.ssh文件夹中(%userprofile%.ssh)
  2. 打开Putty并转到Connection-> SSH-> Auth,然后在那里设置您的私钥文件。
  3. 返回会话,选择默认设置,然后点击保存。
  4. 现在尝试再次克隆,系统会要求您输入密码,输入密码,然后输入密码。

答案 9 :(得分:0)

不幸的是,在我的使用Windows 8的计算机上,重新设置SSH客户端的解决方案无法正常工作。解决问题的解决方案是:http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/

答案 10 :(得分:0)

由于此处提供的解决方案没有为我工作,并且在很多人对我在网上找到的解决方案感到失望后,我终于设法在我的机器上解决了这个问题。

我不知道何时或如何设置我的TortoiseGit putty总是使用一个特定的密钥,当然,当我尝试使用新的密钥连接到不同的服务器时,这会产生所有问题。

那么如何解决问题以及如何判断你是否真的遇到了与我相同的问题:

  1. here
  2. 在您的计算机上下载plink.exe
  3. 在您下载plink.exe
  4. 的同一目录中打开Windows命令提示符
  5. 运行此命令:plink -v <path_to_your_git_clone_repo_link>
  6. 查看输出,看看你是否有像Reading private key file "C:\Path\To\Some\privateKey.ppk"
  7. 这样的行
  8. 如果您看到这样的行,并且它不是您想要使用的putty密钥文件,那么只需重命名/删除/移动该文件,以便下次无法加载plink
  9. 重命名有问题的文件后,它应该按预期工作,如果从第3点运行命令,您应该看到plink现在无法加载ppk文件,之后它应该输出类似{{1}的内容我们实际上想要这个
  10. 就是这样,如果有人知道如何禁用这个“全局默认腻子键”,请在评论中告诉我,我会用信息更新这个答案。

答案 11 :(得分:0)

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

答案 12 :(得分:0)

请注意,repo远程源的URL不会导致此问题。我有一个完美的旧回购和一个我刚刚克隆的新回购,它要求我输入密码。

通过比较Settings > Git > Remote > Url中的信息,我看到工作的信息有:

git@github.com:githubAccount/repoName.git

无法使用的新地址有https地址。

请参阅下面的截图。

enter image description here

答案 13 :(得分:0)

Tortoise GIT DOS命令行在我将私钥和公钥放入C:\ Users \ .ssh目录后停止询问我的密码。我在Windows 7上。

答案 14 :(得分:0)

有同样的问题。在我的情况下,我没有密码可以进入那里。连接配置为SSH,但没有为repo定义密钥。

结帐:check documentation。这些说明适用于cloudforge,但对于其他服务,您必须执行相同操作,只需将您的公钥提供给您的git存储库提供程序。

答案 15 :(得分:0)

我今天也遇到了类似的问题,并且能够从https://git-scm.com/download/win安装最新版本的git来解决它