Git克隆使用公共私钥

时间:2013-02-19 04:06:06

标签: git github private-key public-key git-clone

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

  

git clone [git repo directory] ​​

     

克隆成文件......

     

输入密钥'/.ssh/id_dsa'的密码:

     

许可被拒绝(公钥)。

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

如何解决此问题?我一直试图解决这个问题很长时间,但现在却完全被卡住了。

非常感谢!

1 个答案:

答案 0 :(得分:2)

  1. 你必须知道两件事:可以创建私钥是putty和openssh兼容的格式 - 这些格式不能自由交换(客户端工具只能理解putty openssh), Linux只了解openssh-type keys
  2. 您必须使用客户端(附加)工具,该工具根据请求按键提供非交互式身份验证
  3. 第1点和第2点的结果

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

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

    PS :借助Github ssh相关文档和测试shell调试您的问题