git-bash - Pageant 不加载使用 GitBash 生成的 SSH-2 key

标签 git-bash private-key openssh plink pageant

Windows 版 (Tortoise)Git 的 key 处理实现让我感到困惑。据我了解,您可以使用 ssh.exe 来实现(git 自己的 ssh 程序),然后您可以在 ssh_config 中为每个主机选择一个 ssh key 。在“伪造的”主目录中。对我来说,这并不适用,因为我有多个 Bitbucket 帐户,使用不同的 key ,但都使用相同的主机。

那就有办法用 TortoiseGitPlink 。基本上,您使用 putty 生成的 key 设置选美比赛,并让 TortoiseGit 使用该 key - 环境变量 SSH_GIT设置为您的 TortoiseGitPlink.exe)。

现在我的问题如下:我刚刚使用 ssh-keygen -t rsa -f ~/.ssh/rsa_key 创建了一个具有默认选项的 ssh2 rsa key GitBash 中的命令。我尝试将此文件加载到 pageant.exe通过使用它的 GUI。我收到错误:Couldn't load this key (OpenSSH-SSH-2 private key)

这个键有什么问题?在 GitBash 中制作的它应该遵守所有标准的 openSSH 指南。 PuTTY key 和 openSSH key 存在差异,这是否正确?

最佳答案

Pageant 只能加载 PuTTY 格式 (.ppk) 的 key 。

如果您尝试加载仍能被 PuTTY 工具识别的不同格式的 key ,您会收到上述错误消息:

Couldn't load this key (OpenSSH-SSH-2 private key)

您需要use the PuTTYgen to convert the key从 OpenSSH 格式到 PuTTY 格式。如果 Pageant 识别出该文件格式,PuTTYgen 可以对其进行转换。

  • 运行 PuTTYgen;
  • Load加载OpenSSH格式的私钥;
  • 保存私钥将私钥保存为.ppk格式;
  • 现在您可以将 .ppk 格式的私钥加载到 Pageant 中。
<小时/>

或者更简单,使用 PuTTYgen 直接以 PuTTY 格式创建 key ,而不是使用 ssh-keygen

<小时/>

请参阅 PuTTY 愿望 list ,了解其拥有自己的 key 格式的原因:
https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/key-formats.html

请注意,我认为 SSH-2 私钥文件格式没有标准。

关于git-bash - Pageant 不加载使用 GitBash 生成的 SSH-2 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27129904/

相关文章:

git-bash - ConEmu with Git Bash - 在标签栏中显示文件夹

git - 从 git 分支创建符号链接(symbolic link)文件层次结构

java - 为 Java 客户端设置 SFTP 服务器以仅允许使用公钥下载

ssh - 如何为 Jenkins CLI 获取正确格式的 key 文件?

windows - 无法获得 git 扩展以将某些内容推送到 github SSH 问题

windows - 从 Git Bash 调用 Notepad++

GitHub "Failed connect to github"没有报错

encryption - 如何生成一对非对称加密 key ?

openssl - 如何将 PKCS#8 格式的 PEM 私钥转换为传统格式?

openssl - 如何从 CRT 文件生成 key ?