原作者:隔壁老樊啊
来源:简书
公司换电脑之后,每次提交代码到码云,都要输入git账号和密码,那怎么解决每次都要输入的问题呢。我们可以部署一个公钥。
码云提供了基于SSH
协议的Git
服务,在使用SSH
协议访问仓库仓库之前,需要先配置好账户/仓库的SSH
公钥。我们在用码云创建完项目之后,如果拉取项目是用HTTPS
这种,都是需要密码的。如果是SSH
,就不需要密码。配置公钥的目的,就是使用SSH公钥可以让你在你的电脑和码云通讯的时候使用安全连接。
生成sshkey
我们打开命令终端,输入ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
,然后按三次回车即可。
按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub
文件内容,获取到你的 public key
cat ~/.ssh/id_rsa.pub
或者打开C:\Users\Administrator\.ssh
目录,你会看到一个id_rsa.pub
的文件,用编辑器打开然后复制。
添加部署公钥
复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。
然后在终端中输入
ssh -T git@gitee.com
首次使用需要确认并添加主机到本机SSH可信列表。若返回Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access.
内容,则证明添加成功。
刚写完部署公钥,就立马踩到这里面最大的一个坑。
我们在部署完公钥后,立马想试一下不输密码拉项目。嗯,是可以不用输入密码。当你想把写了一上午的代码,push到仓库时,git立马给你报个错。
我了个擦,这怎么搞,立马跑去找度娘。一看度娘的回答,这是git公钥最大的一个坑。
为啥这么说。让我们回顾一下部署公钥时的操作。
我们是进到项目 ----> 部署公钥----> 公钥管理----> 添加公钥,这一顿操作看似没问题,其实,最大的坑就在这里!!!
看到没,在项目里面部署的公钥,只能执行clone
pull
等只读操作,如果想要进行写,就需要添加个人公钥。他们两个是不一样的,一个是项目的公钥,一个是个人公钥。
找到个人设置,添加个人公钥,把上面流程再就一边,然后进行push操作,ok没毛病了。