2

我一直在尝试使用公钥和私钥进行身份验证而不是密码来克隆 git 存储库。我在 Windows 上使用 puttygen 生成了我的密钥。我无法从 windows 或 linux 登录。我不断收到以下错误:

git clone [git repo 目录]

克隆成论文...

输入密钥“/.ssh/id_dsa”的密码:

权限被拒绝(公钥)。

我首先使用密码创建了我的私钥,但是在我重新保存了没有密码的私钥(使用 puttygen)但它仍然不起作用之后,这不起作用。

我该如何解决这个问题?我一直在努力解决它很长时间,但现在完全被卡住了。

非常感谢!

4

1 回答 1

2
  1. 您必须知道两件事:可以创建的私钥是 putty 和 openssh 兼容的格式 - 这些格式不能自由交换(客户端工具只能理解 puttyopenssh),Linux 只能理解 openssh 类型的密钥
  2. 您必须在客户端(附加)工具上使用,该工具可根据请求通过密钥提供非交互式身份验证

第 1 点和第 2 点的结果

Windows 客户端:运行选美比赛,将 putty 的私钥加载到其中(输入密码短语作为密钥)。也许你必须在 Git 中重新定义 ssh-client 从 system 到 plink

Linux 客户端:在 Windows 主机上将 putty 类型的私钥加载到 puttygen 并导出到 openssh-key。在 Linux-box 中将此文件另存为/.ssh/id_dsa. 运行 ssh-agent,输入一次密码。ssh-agent 将在会话期间为所有请求使用密码作为密钥

PS:在 Github ssh-related docs 和 testing shell 的帮助下调试你的问题

于 2013-02-19T07:27:08.607 回答