最近台式电脑硬盘出了点问题,重新装了系统,导致一些常用的软件都得重新装.这次遇到了一个git相关的问题,也解决了我之前脑海中一些模糊不清的概念,让我重新明白了问题的根源,以后知道如何来解决啦~
作为一个开发人员,对Github并不陌生,记录下使用说明:
Github是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名为github.
工具
git:是一个开源的分布式版本控制系统,可以有效高速的处理项目的版本管理
而TortoiseGit是一个开发的git版本控制系统的源客户端.我的windown_pc电脑上面就安装了Git的客户端和TortoiseGit这两个,之前是都可以使用的.而重新装了系统之后,再次使用,导致TortoiseGit无法使用,Git客户端可以正常使用.
我的习惯一般是用Git客户端来clone代码到本地,然后用TortoiseGit进行提交,推送到远程仓库,这时候就有点别扭啦~然后就开始查找原因,解决问题.
提交文件的时候,报了一个错误提示,便有了很好的线索来查找问题,我使用的是一个老版本的TortoiseGit工具,一直弹出一个错误提示框:could't agree a key exchange algorithm
解决方案:换用新版本的TortoiseGit客户端,可能Github官方有什么更新,导致老版本的小乌龟不能使用啦.
git是个好东西,tortoisegit也是个好东西.在window下使用tortoisegit比较多,而对命令的时候比较少.
对于tortoisegit可以支持使用秘钥有两种,一种是openssh的秘钥,一种是支持putty的秘钥.但是这两种不同,不过我们可以转换.
使用putty的秘钥:
在安装TortoiseGit的时候其实会让你选择默认使用的ssh客户端,默认情况下是使用TortoiseGitPlink这个客户端。
在安装tortoisegit的时候,默认还会安装有Puttygen.exe这个程序,这个程序是可以生成putty密钥的。
点击Generate按钮后会按一个进度条,然后鼠标不断在该程序内动,目的是生成一些随机数。
点击save private key保存putty的私钥,putty的密钥的后缀名是ppk。
我的window_pc电脑上面git客户端使用的是openssh的秘钥,而tortoisegit使用的是putty的秘钥,这样就可以同时使用git的命令来克隆,提交,推送代码,同时也可以用tortoisegit客户端做这些事情的.我的配置实在Github网站中SSH里面同时添加了两个的公钥
在服务器上添加openssh公钥:
我们在上面创建了putty的密钥对,现在需要将生成的公钥添加到服务器上.也可以把公钥添加到github.com上,putty生成的公钥和openssh的公钥是相同的,他们只是私钥不同而已.
putty秘钥与openssh秘钥转化:
如果你有putty的私钥了,但是想在ssh客户端下使用openssh的私钥,再去生成一个openssh的秘钥比较麻烦
点击Conversions菜单项中的Import key
选择一个putty的私钥或者openssh的私钥
点击save private key保存为putty的私钥
或者点击菜单Conversions->Export OpenSSH Key保存为openssh的私钥
TortoiseGit秘钥的配置:
TortoiseGit使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。也就是说使用ssh-keygen -t rsa -C "yourname@yourcompany.com"产生的密钥在TortoiseGit中不能用。而基于github的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥,配置步骤如下:
1、运行TortoiseGit开始菜单中的Puttygen程序
2、点击“Generate”按钮,鼠标在上图的空白地方来回移动直到进度条完毕,就会自动生一个随机的key
3、为密钥设置对应的访问密码,在“Key passphrase”和“Confirm passphrase”的后面的输入框中输入密码
4、将多行文本框中以“ssh-rsa”开头的内容全选、复制,并粘贴到github的 Account Settings -> SSH Keys -> Add SSH key -> Key字段中,这就是适用于github的公钥
5、点击“Save private key”按钮,将生成的key保存为适用于TortoiseGit的私钥(扩展名为.ppk)
6、运行TortoiseGit开始菜单中的Pageant程序,程序启动后将自动停靠在任务栏中,双击该图标,弹出key管理列表
7、点击“Add Key”按钮,将第5步保存的ppk私钥添加进来,关闭对话框即可
参考链接