windows上git怎么使用tortoiseGit(Puttygen)生成的ppk密钥和怎么配置

码字不易,转载请注明出处~

一 使用原因

原先工作是使用tortoiseGit界面对git进行操作,在图形化界面进行git操作非常的简洁清晰,但也很容易遗忘git命令操作,后来实际在编程中感觉直接使用git命令会更方便快捷,所以就了解了一下git命令行怎么配置ssh密钥链接。

  • git版本:git version 1.9.5
  • tortoiseGit版本:V1.8.9.0-64bit.msi
  • 操作系统:windows10

二 遇上的问题

  • tortoiseGit生成的ppk密钥怎么转换成git需要的ssh密钥
  • 转换好的ssh密钥放置在哪个文件夹,怎么配置
    The authenticity of host 'xxx' can't be established
    Permission denied (publickey)

三 如何解决

①将tortoiseGit配置的是ppk密钥转换成ssh密钥

先找到自己本地ppk私钥存放地址,如果忘记了就去本地的git仓库中打开tortoiseGit的配置界面,如下图所见可以找到使用的ppk私钥存放地址。

找到PuTTy工具,进入工具后,点击Conversions->import key,把使用的ppk私钥导入进去

红框部分就是公钥,先将公钥保存为id_rsa.pub,复制红框里面的文本内容复制,自己保存为id_rsa.pub,或者直接点击下方Save public key保存为id_rsa.pub文件,可以先存放在桌面。

再点击Conversions -> Export Openssh key,将ppk私钥转换成ssh类型的私钥,保存为id_rsa,可先存放在桌面。两个文件如下图所示

①转换好的ssh密钥放置在哪个文件夹,怎么配置

在没有配置密钥的情况下,在git仓库目录下输入git pull,会出现以下提示The authenticity of host 'xxx' can't be established,大概意思就是提示需要保留一份密钥文件在你的本地,其次是告诉你没有权限访问(没有配置好密钥没权限是正常的),这时候只需要一直按下回车就好。会保存一份known_hosts文件在电脑本地

一般情况下是放置在C:\Users\Administrator.ssh路径下,网上很多教程也是这么教的,但我在这里踩坑了,因为我的git版本比较低,所以大家再排查问题时还需要注意根据版本号来排查。我的密钥放在这个文件夹下git是查找不到的我的密钥的,会报Permission denied (publickey)。tortoiseGit可以正常使用的话那肯定不是公钥没有放置在远程仓库的问题,所以猜测会不会还有其他存放的地址,私钥没放好导致权限不过,于是用everything工具查找了一下,果不其然有两个.ssh文件夹,上一步git保存的known_hosts文件就在另外一个.ssh文件夹(在git的安装目录下),而这个文件才是存放密钥的地方,于是把刚刚保存好的id_rsa和id_rsa.pub文件存放在这个文件夹下。

这时再去git pull,就会发现提示变了,可以正常获取远端仓库

第二次git pull,会提示There is no tracking information for the current branch.
Please specify which branch you want to merge with.需要本地仓库跟对应的远程仓库绑定一下关系,按照提示进行绑定即可

除了git命令可以验证链接以外,常用的还用ssh -Tv git@example.com。(example.com指的是项目域名)有的人可能会出现git命令可以验证通过,ssh命令却不行,那是因为默认的通信端口是22,如果你的项目端口有变更,那就要创建一个config文件进行配置,而这份文件是保存在这个路径下的.ssh文件夹:C:\Users\Administrator.ssh。文件内容可以参考git的help中的Working with non-default SSH key pair paths一栏,Port端口配置好后,再试试ssh -Tv git@example.com,即可正常建立链接。或者直接
ssh -Tv -p 端口号 git@example.com,ssh的相关命令可以通过ssh -h去查看。

posted @   hiayap  阅读(1314)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示