对于 Git Bash

对于 Git Bash

我的 Git 设置在 Linux 上运行良好,但当我尝试在 Windows 下进行设置时(使用 Git for Windows 和TortoiseGit),我不知道将我的私有 SSH 密钥放在哪里(或者更好的是,如何知道ssh它位于何处)。我在安装适用于 Windows 的 Git 时使用了标准 ssh.exe 选项。如果我允许在服务器上进行密码验证(代替 RSA),则设置运行正常。

答案1

对于 Git Bash

如果您正在运行 msysgit(我假设您正在运行)并且想要运行 Git Bash(我推荐它而不是 TortoiseGit,但我现在更倾向于 CLI 而不是 GUI),您需要通过启动它然后输入pwd(在 Windows 7 上,它将类似于C:\Users\phsr我认为的内容)来确定 Git Bash 的主目录是什么。当您在 Git Bash 中时,您应该mkdir .ssh

有了主目录和.ssh其下的文件夹后,您需要打开 PuTTYgen 并打开之前创建的密钥(.ppk 文件)。打开密钥后,您需要选择Conversions -> Export OpenSSH key并将其保存到HOME\.ssh\id_rsa。在该位置获得密钥后,Git Bash 将识别该密钥并使用它。

注意:注释表明这并非在所有情况下都有效。您可能需要将 OpenSSH 密钥复制到Program Files\Git\.ssh\id_rsa(或Program Files (x86)\Git\.ssh\id_rsa)。

对于 TortoiseGit

使用 TortoiseGit 时,需要通过以下方式设置 SSH 密钥pacey 的指示。您需要对每个使用 TortoiseGit 的存储库执行此操作。

答案2

使用 Windows 版 Git 附带的内置 SSH 客户端,您需要设置 HOME 环境变量,以便 Git SSH 客户端可以找到密钥。

例如,在Windows Vistasetx HOME c:\Users\admin\安装,这可以通过在命令行上发出来完成。

这让我很开心,并且解决了 Git 的问题(前提是您的私钥不受密码保护)。如果您想使用 ssh-agent,那么您可能可以像往常一样运行 ssh-agent cmd.exe(尽管我从未这样做过)和 ssh-add。

请注意,所有 Git/SSH 工具都应该从 cmd.exe 运行,以免一个窗口。

如果这不能正常工作,使用 plink 可能可以通过调整来实现GIT_SSH。请参阅所有 SVN + ssh 教程;这基本上与您需要设置的管道相同。

答案3

您可以通过以下方式指定 TortoiseGit 的密钥位置:

  • 打开资源管理器窗口。
  • 打开上下文菜单并导航TortoiseGit设置
  • 在现在打开的窗口中,导航至Git偏僻的
  • 在相应的输入框中设置您的PuTTY密钥的路径。

截图如下:

在此处输入图片描述

答案4

如果您将 msysgit 与 OpenSSH 工具一起使用,则需要创建,或者创建指向您的密钥的~/.ssh/id_rsaGit 配置。~/.ssh/config

这是 Bitbucket 的 Git 配置示例,它将使用正确的用户名和除默认密钥之外的其他密钥(以防您为 SSH 连接维护一个密钥,为 Git 帐户维护另一个密钥)。

〜/.ssh /配置

Host bitbucket.org
    Hostname bitbucket.org
    User git
    IdentityFile /C/keys/yourkey.key

进入 Git Bash 后,您可以运行两个命令将密钥添加到当前会话的 ssh-agent,以避免重复输入密钥的密码。

eval `ssh-agent`
ssh-add /C/keys/yourkey.key

相关内容