公司换电脑之后,每次提交代码到码云,都要输入git账号和密码,那怎么解决每次都要输入的问题呢。我们可以部署一个公钥。

码云提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。我们在用码云创建完项目之后,如果拉取项目是用HTTPS这种,都是需要密码的。如果是SSH,就不需要密码。配置公钥的目的,就是使用SSH公钥可以让你在你的电脑和码云通讯的时候使用安全连接。

tortoiseGit 设置公钥 git如何配置公钥_tortoiseGit 设置公钥

生成sshkey

我们打开命令终端,输入ssh-keygen -t rsa -C "xxxxx@xxxxx.com",然后按三次回车即可。

tortoiseGit 设置公钥 git如何配置公钥_全连接_02

按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key

cat ~/.ssh/id_rsa.pub

tortoiseGit 设置公钥 git如何配置公钥_tortoiseGit 设置公钥_03

或者打开C:\Users\Administrator\.ssh目录,你会看到一个id_rsa.pub的文件,用编辑器打开然后复制。

添加部署公钥

复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。

tortoiseGit 设置公钥 git如何配置公钥_全连接_04

然后在终端中输入

ssh -T git@gitee.com

首次使用需要确认并添加主机到本机SSH可信列表。若返回Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access.内容,则证明添加成功。

tortoiseGit 设置公钥 git如何配置公钥_ide_05

刚写完部署公钥,就立马踩到这里面最大的一个坑。
我们在部署完公钥后,立马想试一下不输密码拉项目。嗯,是可以不用输入密码。当你想把写了一上午的代码,push到仓库时,git立马给你报个错。

tortoiseGit 设置公钥 git如何配置公钥_ide_06

我了个擦,这怎么搞,立马跑去找度娘。一看度娘的回答,这是git公钥最大的一个坑。

 

为啥这么说。让我们回顾一下部署公钥时的操作。
我们是进到项目 ----> 部署公钥----> 公钥管理----> 添加公钥,这一顿操作看似没问题,其实,最大的坑就在这里!!!

tortoiseGit 设置公钥 git如何配置公钥_tortoiseGit 设置公钥_07

看到没,在项目里面部署的公钥,只能执行clone pull只读操作,如果想要进行,就需要添加个人公钥。他们两个是不一样的,一个是项目的公钥,一个是个人公钥。

 

找到个人设置,添加个人公钥,把上面流程再就一边,然后进行push操作,ok没毛病了。

tortoiseGit 设置公钥 git如何配置公钥_tortoiseGit 设置公钥_08