2

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

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

4

3 回答 3

4

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

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

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

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

这假设您的TortoiseGit 正在使用TortoisePlink.exe.


OP scott80109在评论中总结:

安装了 msysgit 以使用 Open SSH。
我将其更改为使用plink,现在它可以在没有提示的情况下工作


Erez A. Korn在评论中补充道:

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

于 2013-09-25T06:09:36.910 回答
0

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

于 2013-09-24T23:14:46.767 回答
0

我的用例需要多个具有密码保护 ssh 密钥的 github 用户。

我对~.ssh/config文件进行了排序,以对不同的 repo 域使用不同的密钥,如此处所述

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

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

  • 下载腻子工具包
  • Win+R打开运行对话框
  • shell:startup 在 Windows 资源管理器中打开自动启动文件夹
  • 在单独的资源管理器窗口中导航到您的 Pageant 文件夹
  • 右键单击并将 PAGEANT.EXE 拖动到启动文件夹。选择创建快捷方式
  • 右键单击快捷方式,属性,快捷方式选项卡
  • 找到您的 .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 上的任何人,我在此处记录了类似的步骤

于 2014-09-18T07:20:09.243 回答