GitHub设置使用SSH Key的好处就是可以使用SSH连接,并且提交代码的时候可以不用输入密码,免密提交。
生成SSH Key
这里我们使用PuTTYgen来生成公钥(Public Key),私钥(Private Key)和PuttyKey。在使用PuTTYgen之前,你需要先安装TortoiseGit
先来简单说明一下要生成的这几个公钥。
公钥(Public Key)
这个是公开的,可以告诉别人的,要被添加到GitHub上面的。
私钥(Private Key)和PuttyKey
这个是私有的,要保存好的,不能告诉别人,只能自己使用的。使用这个私有KEY就可以访问你的GitHub了。
PuTTYgen
在开始菜单中找到PuTTYgen,并打开:
点击生成,然后在Key区域随意移动鼠标,直到Key生成完毕:
将公钥复制下来,如果要保存,可以点击Save public key把它保存起来,这里一定不要关闭PuTTYgen工具,因为一会还要用私钥:
登录你的GitHub,并进入设置:
进入SSH and GPG keys菜单,并点击New SSH key
输入名称,并粘贴刚才复制的公钥,然后再点击Add SSH key进行添加:
这里会要求你输入密码进行安全验证,确认密码以后就添加成功了:
接下来我们就可以使用私钥来拉取和提交你的个人仓库了,有两种方式:
- TorotiseGit + PuttyKey
- Git Bash + SSH Key
要注意的是,虽然PuttyKey和SSH Key都是私有KEY,但它们的格式是不一样的,所以要注意使用正确的KEY。
TorotiseGit + PuttyKey
首先,我们需要把PuttyKey保存起来,回到刚才的PuTTYgen工具,点击Save private key,进行保存,如果要使用密码保护,可以在红框处输入密码:
不输入密码的话,会弹出一个提示,确认是不是不要密码保护,点Yes就可以保存了。
输入名称,点击保存:
复制你的仓库地址,注意切换为SSH地址:
点击复制:
到目标文件夹, 鼠标右键,选择Git Clone
TortoiseGit会自动帮你填充好相应的地址和目录,注意选择刚才保存的Putty Key:
点击确定就可以开始Clone了:
Git Bash + SSH Key
接下来我们换一种方式,使用SSH,在Linux或者MAC下就可以这样使用命令来clone仓库。
首先,先保存SSH key,回到PuTTYgen工具,点击菜单Conversions>Export OpenSSH key,将PuttyKey转为SSH Key:
因为没有密码,还是会弹出确认提示,点击是就可以保存了:
到目标目录,鼠标右键,选择Git Bash Here,打开Git Bash:
输入命令:
ssh-agent bash
再输入命令ssh-add {SSH Key},可以直接将SSH Key文件拖进来,方便输入路径,回车就可以了。如果是有密码的,会在这时候要求你输入密码:
然后再使用 git clone命令就可以开始clone仓库了:
git clone git@github.com:SeriaWei/ZKEACMS.Core.git