GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

时间:2024-08-27 21:37:38

GitHub设置使用SSH Key的好处就是可以使用SSH连接,并且提交代码的时候可以不用输入密码,免密提交。

生成SSH Key

这里我们使用PuTTYgen来生成公钥(Public Key),私钥(Private Key)和PuttyKey。在使用PuTTYgen之前,你需要先安装TortoiseGit

先来简单说明一下要生成的这几个公钥。

公钥(Public Key)

这个是公开的,可以告诉别人的,要被添加到GitHub上面的。

私钥(Private Key)和PuttyKey

这个是私有的,要保存好的,不能告诉别人,只能自己使用的。使用这个私有KEY就可以访问你的GitHub了。

PuTTYgen

在开始菜单中找到PuTTYgen,并打开:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

点击生成,然后在Key区域随意移动鼠标,直到Key生成完毕:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

将公钥复制下来,如果要保存,可以点击Save public key把它保存起来,这里一定不要关闭PuTTYgen工具,因为一会还要用私钥:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

登录你的GitHub,并进入设置:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

进入SSH and GPG keys菜单,并点击New SSH key

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

输入名称,并粘贴刚才复制的公钥,然后再点击Add SSH key进行添加:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

这里会要求你输入密码进行安全验证,确认密码以后就添加成功了:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

接下来我们就可以使用私钥来拉取和提交你的个人仓库了,有两种方式:

  • TorotiseGit + PuttyKey
  • Git Bash + SSH Key

要注意的是,虽然PuttyKey和SSH Key都是私有KEY,但它们的格式是不一样的,所以要注意使用正确的KEY。

TorotiseGit + PuttyKey

首先,我们需要把PuttyKey保存起来,回到刚才的PuTTYgen工具,点击Save private key,进行保存,如果要使用密码保护,可以在红框处输入密码:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

不输入密码的话,会弹出一个提示,确认是不是不要密码保护,点Yes就可以保存了。

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

输入名称,点击保存:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

复制你的仓库地址,注意切换为SSH地址:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

点击复制:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

到目标文件夹, 鼠标右键,选择Git Clone

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

TortoiseGit会自动帮你填充好相应的地址和目录,注意选择刚才保存的Putty Key:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

点击确定就可以开始Clone了:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

Git Bash + SSH Key

接下来我们换一种方式,使用SSH,在Linux或者MAC下就可以这样使用命令来clone仓库。

首先,先保存SSH key,回到PuTTYgen工具,点击菜单Conversions>Export OpenSSH key,将PuttyKey转为SSH Key:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

因为没有密码,还是会弹出确认提示,点击是就可以保存了:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

到目标目录,鼠标右键,选择Git Bash Here,打开Git Bash:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

输入命令:

ssh-agent bash

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

再输入命令ssh-add {SSH Key},可以直接将SSH Key文件拖进来,方便输入路径,回车就可以了。如果是有密码的,会在这时候要求你输入密码:

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

然后再使用 git clone命令就可以开始clone仓库了:

git clone git@github.com:SeriaWei/ZKEACMS.Core.git

GitHub设置使用SSH Key,用TortoiseGit进行Clone仓库

https://github.com/SeriaWei/ZKEACMS.Core