Windows命令行GIT密码提示

时间:2013-09-24 23:11:25

标签: linux windows git ssh ssh-keys

我在Windows PC上安装了mysysgit和TortoiseGit,它连接到Linux机器上的远程Git仓库。我创建了ssh密钥,并将它们添加到TortoiseGit中的配置文件中。当我与TortoiseGit中的远程仓库进行交互时,一切正常。没有密码提示。但是,当我尝试从命令行运行Git命令时,系统会提示您输入SSH密码。

我需要做什么才能从命令行提示我输入密码?

3 个答案:

答案 0 :(得分:4)

确保您的git会话引用TortoisePLink.exe(在GIT_SSH环境变量中),如“Why git can't remember my passphrase under Windows”中所述:

(您可能已经完成了前两个步骤)

  • 使用TortoiseGit的pageant.exe转换您的密钥以使用TortoiseGit的puttygen.exe
  • 运行TortoiseGit的pageant.exe,打开您的.ppk文件(“添加密钥”),并提供密钥的密码。
  • 添加环境变量:

    GIT_SSH=C:\full\path\to\TortoisePlink.exe
    

这假定您的TortoiseGit is using TortoisePlink.exe


OP scott80109结束in the comments

  

安装了msysgit以使用Open SSH   我将其更改为使用plink,现在无需提示


Erez A. Korn添加in the comments

  

我更喜欢使用openssh,因为它不需要我以其他格式(ppk)使用我的密钥。
  我写了一个小包装器来启动ssh-agent并处理业务,然后将其添加到我的Windows Startup中。
  您可以查看erezak/ssh-agent-wrapper-win中的代码。

答案 1 :(得分:0)

我建议使用选美。阅读此http://guides.beanstalkapp.com/version-control/git-on-windows.html并将ssh-key添加到选美。它影响全球。

答案 2 :(得分:0)

我的用例需要多个github用户使用受密码短语保护的ssh密钥。

我对~.ssh/config文件进行了排序,以便为不同的回购域使用不同的密钥,如here所述

但是,我不想每次都输入密码,而且我不想使用ssh-agent。

以下是我如何设置Pageant以在Windows登录时请求并记住我的密码:

  • Download the Putty Tools package
  • 赢取+ R 以打开运行对话框
  • shell:启动以在Windows资源管理器中打开自动启动文件夹
  • 在单独的资源管理器窗口中导航到您的Pageant文件夹
  • 右键单击并将PAGEANT.EXE拖到Startup文件夹中。选择创建快捷方式
  • 右键单击快捷方式,属性,快捷方式选项卡
  • 找到.ppk编码密钥对的路径
    • 如果您需要新的
    • ,请使用PUTTYGEN.EXE生成一个 如果您有一个linux id_rsa文件但没有.ppk ,请使用PUTTYGEN.EXE转换一个
    • win7 +:在资源管理器中右键单击您的密钥,复制为路径
  • 将密钥路径附加到C:\ whatever \ PAGEANT.EXE行
    • 例如:“目标:C:\putty\PAGEANT.EXE plato_cambrian.ppk plato.ppk
    • 如果您的密钥与PAGEANT不相邻,您可以使用绝对路径或更改“开始于:”,这是Pageant的CWD
  • 打开快捷方式或重新启动,然后输入密码

另外,对于那些在这里结束的ubuntu / linux mint的人,我记录了类似的步骤here