add by zhj:说到密钥,就不得不提非对称加密。目前使用最广泛的非对称加密算法是rsa,它是美国三位科学家于1977年发明的。
一对密钥对有两个密钥,其中一个为私钥,一个为公钥,两者没有什么区别,你可以用任何一个做为私钥。用私钥加密的数据只能
用对应的公钥解密,反之,用公钥加密的数据也只能用对应的私钥解密。A向B发送数据时,A用B的公钥加密数据,B要用对应的私
钥才能解开,反之B向A发送的数据,B要用A的公钥加密数据,A要用对应的私钥才能解开。所以如果黑客只获取了公钥而没有获取私钥,
那它是没有办法解密数据的,因为无论是A发B,还是B发A,都是用公钥去加密的,只能用私钥才能解决开。当然,如果A和B用一对密钥
进行双向通信(A有私钥,用私钥加密,B有公钥,用公钥加密),那其实是不可取的,除非你保证公钥是安全的,不会被窃取的。因为
若被窃取了,那黑客就能解密A发给B的数据。
原文:http://rongjih.blog.163.com/blog/static/335744612010619111042465/
TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥(如果你直接使用git bash,才用ssh-keygen生成的密钥)。也就是说使用ssh-keygen -C "username@email.com" -t rsa产生的密钥在TortoiseGit中不能用。而基于github的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥,配置步骤如下:
6)点击上图中的“Add Key”按钮,将第4步保存的ppk私钥添加进来,关闭对话框即可
1)运行TortoiseGit开始菜单中的puttygen程序,如下图示
2)点击“Generate”按钮,鼠标在上图的空白地方来回移动直到进度条完毕,就会自动生一个随机的key,如下图示
如有需要,可以为密钥设置对应的访问密码,就是修改上图中“Key passphrase”和“Confirm passphrase”的值。
3)将上图中多行文本框的内容全选、复制,并粘贴到github账户的 SSH public key中,这就是适用于github的公钥。4)点击上图中的“Save private key”按钮,将生成的key保存为适用于TortoiseGit的私钥(扩展名为.ppk)。
5)运行TortoiseGit开始菜单中的Pageant程序,程序启动后将自动停靠在任务栏中,图标显示为,双击该图标,弹出key管理列表,如下图示
上述所用软件版本:TortoiseGit 1.5.2.0(git version 1.7.1.msysgit.0、PuTTYgen 0.60)